Compare commits

..

34 Commits
1.3.7 ... 1.4.0

Author SHA1 Message Date
Karl Burtram
33d5455b6f Update Azure Data Studio to 1.4.1 2018-12-15 14:47:47 -08:00
khoiph1
ac018500cd Loc Update (#3548) 2018-12-13 09:53:22 -08:00
Aditya Bist
3e661db283 removed potentially PII (#3619) 2018-12-12 13:55:22 -08:00
Anthony Dresser
18fb78b3ec Account for different situations for stream setting (#3615)
* add cases for different situation

* default streaming setting false
2018-12-12 12:03:59 -08:00
Matt Irvine
58ff13d399 Fix some TSLint issues (#3605) 2018-12-11 16:27:32 -08:00
Anthony Dresser
0ac0175bb1 update table size on result set update (#3604) 2018-12-11 15:05:28 -08:00
Anthony Dresser
f39007cd2d wrong variable name (#3603) 2018-12-11 15:05:11 -08:00
Yurong He
2349aa4df8 Fixed #3596 by change URI.parse to URI.file to get the path (#3597) 2018-12-11 11:23:29 -08:00
Yurong He
a93a173183 The CSS class is overwritten by the previous change. Add it back (#3583) 2018-12-10 17:36:58 -08:00
Anthony Dresser
42e55dd2dd Result Streaming settings (#3537)
* add setting control for result streaming

* change default result streaming to true
2018-12-10 17:36:35 -08:00
Raj
ca3146d38f Filetype while prmopting for save #3552 (#3575) 2018-12-10 17:02:16 -08:00
Alan Ren
7f6cd514a5 Alanren/profiler search (#3525)
* further improve the search experience for profiler

* change the default value for parameter
2018-12-10 16:43:58 -08:00
Aditya Bist
88e24e92b5 Agent: features and suggestions (#3512)
* removed row highlighting overlap with scrollbars

* fixed more styling suggestions

* made async calls parallel and improved UI

* cleared style
2018-12-10 16:36:41 -08:00
Anthony Dresser
8b447e361f change cancelation in the async data loader to correctly cancel requests (#3516) 2018-12-10 16:29:02 -08:00
Chris LaFreniere
a92dd2d4e4 Fix for PySpark3 not being selected by default (#3554) 2018-12-10 16:26:57 -08:00
Karl Burtram
852ec44567 Fix DataTier wizard null ref looking up provider with no active connection (#3528) 2018-12-10 16:26:06 -08:00
Raj
b6e32cdeb4 Rename notebook editor (fixes #3521) (#3536)
* Rename notebook editor #3521

* Review comments #3521
2018-12-10 13:26:29 -08:00
Alan Yu
4bd264d9be Add feature request template (#3487)
* Add feature request template

Github recently added feature for issue templates to also automatically assign a label. By setting this template, we can have some guidance for users who want to ask a feature request instead of an issue.

We can also have this be the default within the product when a user clicks "request a missing feature" on the smiley face button

* update label
2018-12-10 11:40:39 -08:00
Karl Burtram
4a4b8574d0 Update Azure Data Studio to 1.3.8 2018-12-10 11:30:20 -08:00
Yurong He
ded073edd9 Added clear output to ToggleMoreAction and added it to markdown preview (#3535)
* Added toggleMoreActions to Markdown Preview only.
When it is in editor mode, only editor display ToggleMoreActions.

* Added clear output back
2018-12-10 11:17:35 -08:00
Alan Yu
568f95e7a3 Update SQL Server Import readme extension (#3519)
Added DacFx wizard text
2018-12-10 10:42:13 -08:00
Chris LaFreniere
5adcabc8de Add back Notebook Completion List IntelliSense (#3520)
* Static notebook intellisense working

* Intellisense dynamic cells working

* Remove launch.json erroneous change

* PR comments #1

* PR feedback to change a minor condition
2018-12-07 18:04:32 -08:00
Kevin Cunnane
e3bce7172c Handle delayed Notebook provider registration (#3526)
* Handle delayed Notebook provider registration
- Fixes #3197 Notebooks: builtin provider always used on reopen with notebook file visible
- Fixes #3414 Can't refresh kernel after connect to big data cluster

There are 3 parts to this fix:
- If no notebook provider other than the default is installed, we warn users and prompt to install the SQL2019 extension
- We wait on the extension host registration to complete before determining which provider to use
- We know that the extension registration of the provider instance will be after package.json is read, so if we wait after registration for 10 seconds to give this a chance to happen before returning a provider to the front end

* Remove launch.json change that was added accidentally

* Fix timeout not being the expected value

* Removed console log left in during debugging

* Remove unnecessary whitespace

* Fix unit test failure

* Name the registration better, and remove outdated comments
2018-12-07 17:56:21 -08:00
Raj
96fb618390 Notebook saves are broken #3432 (#3478)
* Notebook saves are broken #3432

* Misc change

* Save notebook uri to This

* Untitled notebook save including review comments #3432

* Cleanup

* Misc changes
2018-12-07 16:27:23 -08:00
Alan Yu
2d4fdcb661 Updated SQL Server Import extension readme
Added Data-Tier Application Wizard
2018-12-07 15:26:48 -08:00
Yurong He
7a84cff5b4 Fixed #3508 by removing the fixed height of toolbar (#3518) 2018-12-07 15:16:53 -08:00
Yurong He
2af627b704 Fixed #3497 (#3517) 2018-12-07 14:16:00 -08:00
Alan Ren
77fdf18686 improve the visual effect for selected card (#3509)
* improve the visual effect for selected card

* remove shadow for unselected card as per Smitha's suggestion

* fix the issue of status icon not changing when new theme selected
2018-12-07 14:13:52 -08:00
Yurong He
944a77fe42 Fixed #3287 adding loading-spinner to markdown cell (#3505) 2018-12-07 13:07:00 -08:00
Chris LaFreniere
049678b32e Change notebook width to 100 (#3423) 2018-12-07 12:22:19 -08:00
Kevin Cunnane
3325e4d854 Fix #3422 Notebooks opened from within ADS should be Trusted by default. (#3498) 2018-12-07 12:14:57 -08:00
Kevin Cunnane
1e90e88d4b Fix #3481 Notebook: Markdown coloring appears incorrect (#3499)
- Set markdown as language for markdown cell
- Fix issue where after loading language from cell metadata, always override it. This made the "language" feature irrelevant in the cell.
- Fixed tests with new behavior (assumption: cell-level language overrides notebook-level definition) and added new test to cover this too
2018-12-07 12:14:43 -08:00
Kevin Cunnane
8aeb33c98c Fix #3470 Notebook: Switching between Servers and File Explorer opens a duplicate notebook (#3500)
- We missed implementing matches functionality. This is required in order to skip reopening of the notebook
2018-12-07 12:14:26 -08:00
Yurong He
3b08721835 Fixed #3415 add padding-left/right 8px (#3462)
* Fixed #3415 add padding-left/right 8px

* We will keep CSS consistent for review and editing mode. So removed codes not used.
2018-12-07 09:02:20 -08:00
96 changed files with 41755 additions and 497 deletions

View File

@@ -1,6 +1,10 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
<!-- Please search existing issues to avoid creating duplicates. -->

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: feature request
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution or feature you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -69,7 +69,7 @@ export class AlertData implements IAgentDialogData {
this.eventDescriptionKeyword = alertInfo.eventDescriptionKeyword;
this.eventSource = alertInfo.eventSource;
this.hasNotification = alertInfo.hasNotification;
this.includeEventDescription = alertInfo.includeEventDescription.toString();
this.includeEventDescription = alertInfo.includeEventDescription ? alertInfo.includeEventDescription.toString() : null;
this.isEnabled = alertInfo.isEnabled;
this.jobId = alertInfo.jobId;
this.lastOccurrenceDate = alertInfo.lastOccurrenceDate;
@@ -82,7 +82,7 @@ export class AlertData implements IAgentDialogData {
this.databaseName = alertInfo.databaseName;
this.countResetDate = alertInfo.countResetDate;
this.categoryName = alertInfo.categoryName;
this.alertType = alertInfo.alertType.toString();
this.alertType = alertInfo.alertType ? alertInfo.alertType.toString() : null;
this.wmiEventNamespace = alertInfo.wmiEventNamespace;
this.wmiEventQuery = alertInfo.wmiEventQuery;
}

View File

@@ -1,9 +1,50 @@
# Microsoft SQL Server Import for Azure Data Studio
Microsoft SQL Server Import for Azure Data Studio is a simple way to copy data from a flat file (.csv, .txt, .json) to a SQL Server table. Checkout below the reasons for using the Import Flat File wizard, how to find this wizard, and a simple example.
Microsoft SQL Server Import for Azure Data Studio includes two wizards:
- [Import Flat File Wizard](#import-flat-file-wizard-preview)
- [Data-tier Application Wizard.](#data-tier-application-wizard-preview)
## Import Flat File Wizard *(preview)*
**The Import Flat File Wizard** is a simple way to copy data from a flat file (.csv, .txt, .json) to a SQL Server table. Checkout below the reasons for using the Import Flat File wizard, how to find this wizard, and a simple example.
This experience is currently in its initial preview. Please report issues and feature requests [here.](https://github.com/microsoft/azuredatastudio/issues)
<img src="https://user-images.githubusercontent.com/30873802/43433347-c958ed28-942b-11e8-8bbc-f4f2529c3978.png" width="800px" />
### Requirements
* This wizard requires an active connection to a SQL Server instance to start.
* This wizard only works on .txt and .csv files.
### How do I start the Import Flat File wizard?
* The main entry point for the wizard is to right click a database in the Object Explorer, and click **Import wizard**.
* If a user is connected to a SQL Server instance, the user can also press **Ctrl**+**I** to start the wizard.
### Why would I use the Import Flat File wizard?
This wizard was created to improve the current import experience leveraging an intelligent framework known as Program Synthesis using Examples ([PROSE](https://microsoft.github.io/prose/)). For a user without specialized domain knowledge, importing data can often be a complex, error prone, and tedious task. This wizard streamlines the import process as simple as selecting an input file and unique table name, and the PROSE framework handles the rest.
PROSE analyzes data patterns in your input file to infer column names, types, delimiters, and more. This framework learns the structure of the file and does all of the hard work so users don't have to.
Please note that the PROSE binary components used by this extension are licensed under the [MICROSOFT SQL TOOLS IMPORT FLAT FILE EULA](https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/extensions/import/Microsoft_SQL_Server_Import_Extension_and_Tools_Import_Flat_File_Preview.docx).
## Data-tier Application Wizard *(preview)*
**The Data-tier Application Wizard** provides an easy to use experience to deploy and extract .dacpac files and import and export .bacpac files.
This experience is currently in its initial preview. Please report issues and feature requests [here.](https://github.com/microsoft/azuredatastudio/issues)
<img src="https://user-images.githubusercontent.com/30873802/49676289-f2df6880-fa2d-11e8-8bfa-6213b7734075.png" width="800px" />
### Requirements
* This wizard requires an active connection to a SQL Server instance to start.
### How do I start the Data-tier Application wizard?
* The main entry point for the wizard is to right click a database in the Object Explorer, and click **Data-tier Application wizard**.
* If a user is connected to a SQL Server instance, the user can also start the wizard from the command palette (Ctrl+Shift+P) by searching for **Data-tier Application wizard.**
### Why would I use the Data-tier Application wizard?
This wizard was created to add the ability to extract and deploy .dacpac files and import and export .bacpac files in Azure Data Studio.
To learn more about Data-Tier Applications and working with dacpac and bacpac files, [you can read more here.](https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/data-tier-applications?view=sql-server-2017)
## License
Copyright (c) Microsoft Corporation. All rights reserved.
@@ -12,21 +53,6 @@ Licensed under the [MICROSOFT SQL SERVER IMPORT EXTENSION EULA](https://raw.gith
> Note: Microsoft SQL Server Import for Azure Data Studio extension contains the Microsoft SQL Tools Import Flat File component which is also licensed under the above EULA.
## Requirements
* This wizard requires an active connection to a SQL Server instance to start.
* This wizard only works on .txt and .csv files.
## How do I start the Flat File Import wizard?
* The main entry point for the wizard is to right click a database in the Object Explorer, and click **Import wizard**.
* If a user is connected to a SQL Server instance, the user can also press **Ctrl**+**I** to start the wizard.
## Why would I use the Flat File Import wizard?
This wizard was created to improve the current import experience leveraging an intelligent framework known as Program Synthesis using Examples ([PROSE](https://microsoft.github.io/prose/)). For a user without specialized domain knowledge, importing data can often be a complex, error prone, and tedious task. This wizard streamlines the import process as simple as selecting an input file and unique table name, and the PROSE framework handles the rest.
PROSE analyzes data patterns in your input file to infer column names, types, delimiters, and more. This framework learns the structure of the file and does all of the hard work so users don't have to.
Please note that the PROSE binary components used by this extension are licensed under the [MICROSOFT SQL TOOLS IMPORT FLAT FILE EULA](https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/extensions/import/Microsoft_SQL_Server_Import_Extension_and_Tools_Import_Flat_File_Preview.docx).
## Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

View File

@@ -202,7 +202,7 @@ export class DataTierApplicationWizard {
}
private async deploy() {
let service = await DataTierApplicationWizard.getService();
let service = await DataTierApplicationWizard.getService(this.model.server.providerName);
let ownerUri = await sqlops.connection.getUriForConnection(this.model.server.connectionId);
let result = await service.deployDacpac(this.model.filePath, this.model.database, this.model.upgradeExisting, ownerUri, sqlops.TaskExecutionMode.execute);
@@ -213,7 +213,7 @@ export class DataTierApplicationWizard {
}
private async extract() {
let service = await DataTierApplicationWizard.getService();
let service = await DataTierApplicationWizard.getService(this.model.server.providerName);
let ownerUri = await sqlops.connection.getUriForConnection(this.model.server.connectionId);
let result = await service.extractDacpac(this.model.database, this.model.filePath, this.model.database, this.model.version, ownerUri, sqlops.TaskExecutionMode.execute);
@@ -224,7 +224,7 @@ export class DataTierApplicationWizard {
}
private async export() {
let service = await DataTierApplicationWizard.getService();
let service = await DataTierApplicationWizard.getService(this.model.server.providerName);
let ownerUri = await sqlops.connection.getUriForConnection(this.model.server.connectionId);
let result = await service.exportBacpac(this.model.database, this.model.filePath, ownerUri, sqlops.TaskExecutionMode.execute);
@@ -235,7 +235,7 @@ export class DataTierApplicationWizard {
}
private async import() {
let service = await DataTierApplicationWizard.getService();
let service = await DataTierApplicationWizard.getService(this.model.server.providerName);
let ownerUri = await sqlops.connection.getUriForConnection(this.model.server.connectionId);
let result = await service.importBacpac(this.model.filePath, this.model.database, ownerUri, sqlops.TaskExecutionMode.execute);
@@ -245,9 +245,8 @@ export class DataTierApplicationWizard {
}
}
public static async getService(): Promise<sqlops.DacFxServicesProvider> {
let currentConnection = await sqlops.connection.getCurrentConnection();
let service = sqlops.dataprotocol.getProvider<sqlops.DacFxServicesProvider>(currentConnection.providerName, sqlops.DataProviderType.DacFxServicesProvider);
private static async getService(providerName: string): Promise<sqlops.DacFxServicesProvider> {
let service = sqlops.dataprotocol.getProvider<sqlops.DacFxServicesProvider>(providerName, sqlops.DataProviderType.DacFxServicesProvider);
return service;
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "azuredatastudio",
"version": "1.3.7",
"version": "1.4.1",
"distro": "8c3e97e3425cc9814496472ab73e076de2ba99ee",
"author": {
"name": "Microsoft Corporation"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,734 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">Neuer Zeitplan</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Abbrechen</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Zeitplanname</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Zeitpläne</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">Allgemein</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">Name der Anmeldeinformationen</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">Beschreibung</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
<target state="translated">Subsystem</target>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">Betriebssystem (CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">Replikationsmomentaufnahme</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
<target state="translated">Replikationstransaktionsprotokoll-Leser</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
<target state="translated">Replikationsverteiler</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
<target state="translated">Replikationsmerge</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
<target state="translated">Replikation-Warteschlangenleser</target>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
<target state="translated">SQL Server Analysis Services-Abfrage</target>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
<target state="translated">SQL Server Analysis Services-Befehl</target>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
<target state="translated">SQL Server Integration Services-Paket</target>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
<target state="translated">PowerShell</target>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">Auftragszeitpläne</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Abbrechen</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Zeitplanname</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Zeitpläne</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">Allgemein</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Benachrichtigungen</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">Name</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Aktiviert</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">Montag</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">Dienstag</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">Mittwoch</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">Donnerstag</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">Samstag</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">Sonntag</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
<target state="translated">Arbeitstag - Beginn</target>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">Arbeitstag - Ende</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">Warnungsname</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">E-Mail</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">Pager</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">Neuer Auftragsschritt</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
<target state="translated">Datenbankdateien finden -</target>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Abbrechen</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Allgemein</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">Erweitert</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
<target state="translated">Öffnen...</target>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">Analysieren</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">Weiter</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">Zurück</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
<target state="translated">Der Befehl wurde erfolgreich analysiert.</target>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
<target state="translated">Schrittname</target>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Typ</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">Datenbank</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">Befehl</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
<target state="translated">Ausführen als Benutzer</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
<target state="translated">In Tabelle protokollieren</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
<target state="translated">Schrittausgabe in Verlauf einschließen</target>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">Ausgabedatei</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
<target state="translated">Ausgabe an vorhandene Datei anfügen</target>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">Ausgewählter Pfad</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">Dateien des Typs</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">Dateiname</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
<target state="translated">Alle Dateien (*)</target>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
<target state="translated">Transact-SQL-Skript (T-SQL)</target>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">Konto des SQL Server-Agent-Diensts</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
<target state="translated">Zum nächsten Schritt wechseln</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">Beenden des Auftrags mit Erfolgsmeldung</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
<target state="translated">Beenden des Auftrags mit Fehlermeldung</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Allgemein</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
<target state="translated">Steps</target>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Zeitpläne</target>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">Warnungen</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Benachrichtigungen</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
<target state="translated">Der Auftragsname darf nicht leer sein.</target>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">Name</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">Besitzer</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">Kategorie</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">Beschreibung</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Aktiviert</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">Schritt</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Typ</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">Bei Erfolg</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">Bei Fehler</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">Neu...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">Bearbeiten</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">löschen</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Seite</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
<target state="translated">Zeitplan auswählen</target>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Zeitplanname</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">Neue Warnung</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">Warnungsname</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">Neuer Auftrag</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
<target state="translated">Auftrag bearbeiten</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">Allgemein</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
<target state="translated">Antwort</target>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">Optionen</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">Ereigniswarnungsdefinition</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">Name</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Typ</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Aktiviert</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Datenbankname</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
<target state="translated">Fehlernummer</target>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">Schweregrad</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - Verschiedene Systemangaben</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - Reserviert</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - Reserviert</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - Reserviert</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - Reserviert</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006 - Reserviert</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - Benachrichtigung: Statusangaben</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008 - Benachrichtigung: Benutzereingriff erforderlich</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009 - Benutzerdefiniert</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - Angaben</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011 - Angegebenes Datenbankobjekt nicht gefunden</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012 - Nicht verwendet</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - Syntaxfehler in Benutzertransaktion</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - Unzureichende Berechtigung</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - Syntaxfehler in SQL-Anweisungen</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - Sonstiger Benutzerfehler</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - Unzureichende Ressourcen</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - Mittelschwerer interner Fehler</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - Schwerwiegender Fehler bei Ressource</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020 - Schwerwiegender Fehler im aktuellen Prozess</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021 - Schwerwiegender Fehler in Datenbankprozessen</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022 - Schwerwiegender Fehler: Tabellenintegrität zweifelhaft</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - Schwerwiegender Fehler: Datenbankintegrität zweifelhaft</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - Schwerwiegender Fehler: Hardwarefehler</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025 - Schwerwiegender Fehler</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">Auftragsname</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">Neuer Auftrag</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">Operator</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">E-Mail</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">Pager</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">Neuer Operator</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
<target state="translated">Benachrichtigungsfehlertext in Email aufnehmen</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
<target state="translated">Verzögerung zwischen Antworten</target>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Abbrechen</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
<target state="translated">Beim Abschluss des Auftrags</target>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
<target state="translated">Bei Auftragsfehler</target>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">Bei erfolgreicher Auftragsausführung</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
<target state="translated">Job-Update fehlgeschlagen '{0}'</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
<target state="translated">SQL Server-Ereigniswarnung</target>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
<target state="translated">SQL Server-Leistungsstatuswarnung</target>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">WMI-Ereigniswarnung</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,668 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">Aceptar</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">General</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">Descripción</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">Instantánea de replicación</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">Programas de trabajos</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">Aceptar</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">General</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nombre</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Habilitado</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">Sábado</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">Domingo</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">Nombre de alerta</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">Correo electrónico</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">Pager</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">Aceptar</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">General</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">Opciones avanzadas</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">Analizar</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">Siguiente</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">Anterior</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
<target state="translated">Ejecutar como</target>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">Base de datos</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">Comando</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
<target state="translated">Ejecutar como usuario</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
<target state="translated">Intentos de reintento</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">Archivo de salida</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">Ruta seleccionada</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">Archivos de tipo</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">Nombre de archivo</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">Cuenta de servicio de Agente SQL Server</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">General</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">Nombre</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">Propietario</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">Categoría</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">Descripción</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Habilitado</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">Paso</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">En caso de éxito</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">Nuevo...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">Editar</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">Eliminar</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Página</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
<target state="translated">Lista de alertas</target>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">Nombre de alerta</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">General</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">Opciones</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nombre</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Habilitado</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nombre de la base de datos</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">Gravedad</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - Información diversa del sistema</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - Reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - Reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - notificación: Información del estado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - información</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - Error de sintaxis en una transacción de usuario</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - Permiso insuficiente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - Error de sintaxis en las sentencias SQL</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - Recursos insuficientes</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - error fatal en el recurso</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020-error fatal en el proceso actual</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - Error fatal: Es posible que se presente un problema de integridad de base de datos</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - Error fatal: Error de Hardware</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">Nombre de tarea</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">Operador</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">Correo electrónico</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">Pager</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">Nuevo operador</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">Aceptar</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">Cuando el trabajo tiene éxito</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
<target state="translated">Esta característica está en desarrollo. ¡Obtenga la última versión para Insiders si desea probar los cambios más recientes!</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,747 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">Nouvelle planification</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annuler</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nom de la planification</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Planifications</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
<target state="translated">Créer un Proxy</target>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">Général</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">Nom d'identification</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">Description</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
<target state="translated">Sous-système</target>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">Système d'exploitation (CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">Instantané de réplication</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
<target state="translated">Lecteur du journal des transactions de réplication</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
<target state="translated">Serveur de distribution de réplication</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
<target state="translated">Fusion de réplication</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
<target state="translated">Agent de lecture de file d'attente de réplication</target>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
<target state="translated">Requête SQL Server Analysis Services</target>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
<target state="translated">Commande SQL Server Analysis Services</target>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
<target state="translated">Package SQL Server Integration Services</target>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
<target state="translated">PowerShell</target>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">Planifications de travail</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annuler</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nom de la planification</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Planifications</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
<target state="translated">Créer un opérateur</target>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">Général</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Notifications</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nom </target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Activé</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
<target state="translated">Nom d'e-mail du récepteur de radiomessagerie</target>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">Lundi</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">Mardi</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">Mercredi</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">Jeudi</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">Samedi</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">Dimanche</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
<target state="translated">Début de journée</target>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">Fin de journée</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">Nom de l'alerte</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">Messagerie électronique</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">Radiomessagerie</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">Nouvelle étape du travail</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
<target state="translated">Localiser les fichiers de base de données -</target>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annuler</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Général</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">Avancé</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
<target state="translated">Ouvrir...</target>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">Analyser</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">Suivant</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">Précédent</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
<target state="translated">La commande a été analysée correctement.</target>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
<target state="translated">La commande a échoué.</target>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
<target state="translated">Le nom de létape ne peut être vide</target>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
<target state="translated">Nom de l'étape</target>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Type</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
<target state="translated">Exécuter en tant que</target>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">Base de données </target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">Commande</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
<target state="translated">Action en cas déchec</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
<target state="translated">Exécuter en tant quutilisateur</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
<target state="translated">Nouvelles tentatives</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
<target state="translated">Intervalle avant nouvelle tentative (minutes)</target>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
<target state="translated">Ajouter la sortie à lentrée existante dans la table</target>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">Fichier de sortie</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">Chemin sélectionné</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">Fichiers de type</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">Nom de fichier</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
<target state="translated">Tous les fichiers (*)</target>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
<target state="translated">Script Transact-SQL (T-SQL)</target>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">Compte de service SQL Server Agent</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
<target state="translated">Passer à l'étape suivante</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">Quitter le travail signalant la réussite</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
<target state="translated">Quitter le travail signalant l'échec</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Général</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
<target state="translated">Étapes</target>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Planifications</target>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">Alertes</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Notifications</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
<target state="translated">Le nom du travail ne peut pas être vide.</target>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">Nom </target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">Propriétaire</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">Catégorie</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">Description</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Activé</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
<target state="translated">Liste des étapes du travail</target>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">Étape</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Type</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">En cas de succès</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">En cas d'échec</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">Nouveau...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">Modifier</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">supprimer</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
<target state="translated">E-mail</target>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Page </target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
<target state="translated">Choisir une planification</target>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nom de la planification</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
<target state="translated">Liste des alertes</target>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">Nouvelle alerte</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">Nom de l'alerte</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">Nouveau travail</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
<target state="translated">Créer une alerte</target>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">Général</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
<target state="translated">Réponse</target>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">Options</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">Définition d'une alerte d'événement</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nom </target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Type</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Activé</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nom de la base de données</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
<target state="translated">Numéro d'erreur</target>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">Gravité</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - Informations système diverses</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - Réservée</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - Réservée</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - Réservée</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - Réservée</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006 - Réservée</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - Notification : information d'état</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008 - Notification : intervention util. requise</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009 - Définie par l'utilisateur</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - Informations</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011 - Objet de BdD spécifié introuvable</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012 - Inutilisée</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - Err. de syntaxe de la transaction util.</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - Autorisation insuffisante</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - Erreur de syntaxe dans des instructions SQL</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - Erreur de l'utilisateur</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - Ressources insuffisantes</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - Erreur interne récupérable</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - Erreur irrécupérable de ressource</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020 - Erreur irrécupérable du traitement en cours</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021 - Erreur irrécupérable dans les traitements de base de données</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022 - Err. fatale : intégrité douteuse de la table</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - Err. fatale : intégrité douteuse de la BdD</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - Erreur fatale : erreur matérielle</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025 - Erreur fatale</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
<target state="translated">Exécuter le travail</target>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">Nom du travail</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">Nouveau travail</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
<target state="translated">Liste des opérateurs</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">Opérateur</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">Messagerie électronique</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">Radiomessagerie</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">Nouvel opérateur</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
<target state="translated">Minutes de retard</target>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
<target state="translated">Secondes de retard</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annuler</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
<target state="translated">Lorsque le travail est terminé</target>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
<target state="translated">Lors de l'échec du travail</target>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">Lors de la réussite du travail</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
<target state="translated">Le nom du travail doit être fourni</target>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
<target state="translated">Alerte d'événement SQL Server</target>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
<target state="translated">Alerte de condition de performances SQL Server</target>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">Alerte d'événement WMI</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
<target state="translated">Cette fonctionnalité est en cours de développement. Testez les dernières builds Insiders si vous souhaitez essayer les changements les plus récents !</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,705 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">Nuova pianificazione</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annulla</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nome della pianificazione</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
<target state="translated">Modifica Proxy</target>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">Generale</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">Nome della credenziale</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">Descrizione</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">Sistema operativo (CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">Pianificazioni processi</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annulla</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nome della pianificazione</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
<target state="translated">Modifica operatore</target>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">Generale</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Notifiche</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nome</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Abilitato</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">Lunedì</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">Martedì</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">Mercoledì</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">Giovedì</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">Sabato</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">Domenica</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">Fine giornata lavorativa</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
<target state="translated">Elenco avvisi</target>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">Nome avviso</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">E-mail</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">Nuovo passaggio di processo</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annulla</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Generale</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">Avanzate</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
<target state="translated">Apri...</target>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">Analizza</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">Avanti</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">Indietro</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
<target state="translated">Il nome di passaggio non può essere lasciato vuoto</target>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">Database</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">Comando</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
<target state="translated">Numero di tentativi</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
<target state="translated">Scrivere il log su tabella</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
<target state="translated">Includere l'output dello step nella cronologia</target>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">File di output</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">Percorso selezionato</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">File di tipo</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">Nome file</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">Account del servizio SQL Server Agent</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">Termina il processo segnalando esito positivo</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Generale</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">Avvisi</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Notifiche</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">Nome</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">Proprietario</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">Categoria</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">Descrizione</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Abilitato</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">Passaggio</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">In caso di successo</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">In caso di errore</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">Nuovo...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">Modifica</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">Elimina</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
<target state="translated">Azioni da eseguire quando il processo viene completato</target>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
<target state="translated">Email</target>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Pagina</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
<target state="translated">Cancella automaticamente il processo</target>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nome della pianificazione</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">Nuovo avviso</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">Nome avviso</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">Nuovo processo</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">Generale</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">Opzioni</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">Definizione di avviso di evento</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nome</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Abilitato</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nome del database</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">Gravità</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - Informazioni di sistema varie</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - Riservato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - Riservato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - Riservato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - Riservato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006 - Riservato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - Notifica: Informazioni di Stato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008 - Notifica: Richiesto intervento dell'utente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009 - Definito dall'utente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - Informazioni</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011 - Oggetto di database specificato non trovato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012 - Inutilizzato</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - Errore di sintassi nella transazione utente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - Autorizzazioni Insufficienti</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - Errore di sintassi nelle istruzioni SQL</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - Vari Errori Utente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - Risorse insufficienti</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - Errore interno non fatale</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - Errore fatale nella risorsa</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020 - Errore Fatale nel processo corrente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021 - Errore fatale nei Processi di Database</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022 - Errore Fatale: sospetto su integrità della tabella</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - Error Fatale: integrità database sospetta</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - Errore Fatale: Errore Hardware</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025 - Errore Fatale</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">Nome Job</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">Nuovo processo</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">operatore</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">E-mail</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">Nuovo Operatore</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
<target state="translated">Ritardo tra le risposte</target>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
<target state="translated">Minuti di ritardo</target>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annulla</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">Avviso per evento WMI</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,637 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">キャンセル</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">全般</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">説明</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">ジョブ スケジュール</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">キャンセル</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">全般</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">名前</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">有効</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">キャンセル</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">全般</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">詳細</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">解析</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">次へ</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">前へ</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">種類</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">データベース</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">コマンド</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">出力ファイル</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">選択されたパス</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">ファイルの種類</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">ファイル名</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">全般</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">名前</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">所有者</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">カテゴリ</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">説明</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">有効</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">ステップ</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">種類</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">新規作成...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">編集</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">削除</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">ページ</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">新規ジョブ</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">全般</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">オプション</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">名前</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">種類</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">有効</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">データベース名</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">重大度</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">新規ジョブ</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">演算子</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">キャンセル</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,742 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">새 일정</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">확인</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">취소</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">일정 이름</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">일정</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
<target state="translated">프록시 편집</target>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">일반</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">자격 증명 이름</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">설명</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
<target state="translated">하위 시스템</target>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">운영 체제(CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">복제 스냅숏</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
<target state="translated">복제 트랜잭션 로그 판독기</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
<target state="translated">복제 배포자</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
<target state="translated">복제 병합</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
<target state="translated">복제 큐 판독기</target>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
<target state="translated">SQL Server Analysis Services 쿼리</target>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
<target state="translated">SQL Server Analysis Services 명령</target>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
<target state="translated">SQL Server Integration Services 패키지</target>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
<target state="translated">PowerShell</target>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">작업 일정</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">확인</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">취소</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">일정 이름</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">일정</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">일반</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">알림</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">이름</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">사용</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
<target state="translated">전자 메일 이름</target>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">월요일</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">화요일</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">수요일</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">목요일</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
<target state="translated">금요일 </target>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">토요일</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">일요일</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
<target state="translated">업무 시작일</target>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">업무 종료일</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
<target state="translated">경고 목록</target>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">경고 이름</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">전자 메일</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">호출기</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">새 작업 단계</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">확인</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">취소</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">일반</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">고급</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">구문 분석</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">다음</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">이전</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
<target state="translated">명령을 구문 분석했습니다.</target>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
<target state="translated">단계 이름</target>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Type</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">데이터베이스</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">명령</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
<target state="translated">실패한 경우 동작</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
<target state="translated">사용자로 실행</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">출력 파일</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">선택한 경로</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">파일 이름</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
<target state="translated">Transact-SQL 스크립트(T-SQL)</target>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">SQL Server 에이전트 서비스 계정</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
<target state="translated">다음 단계로 이동</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">성공 보고와 함께 작업 종료</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
<target state="translated">실패 보고와 함께 작업 종료</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">일반</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
<target state="translated">단계</target>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">일정</target>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">경고</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">알림</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
<target state="translated">작업 이름을 비워 둘 수 없습니다.</target>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">이름</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">소유자</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">범주</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">설명</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">사용</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
<target state="translated">작업 단계 목록</target>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">단계</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Type</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">성공한 경우</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">실패한 경우</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">새로 만들기...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">편집</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">삭제</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
<target state="translated">단계 이동</target>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
<target state="translated">단계 이동</target>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Page</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
<target state="translated">Windows 응용 프로그램 이벤트 로그에 쓰기</target>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
<target state="translated">일정 목록</target>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
<target state="translated">일정 선택</target>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">일정 이름</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">새 경고</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">경고 이름</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">새 작업</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
<target state="translated">작업 편집</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
<target state="translated">경고 만들기</target>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
<target state="translated">경고 편집</target>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">일반</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
<target state="translated">응답</target>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">옵션</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">이벤트 경고 정의</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">이름</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Type</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">사용</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">데이터베이스 이름</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
<target state="translated">오류 번호</target>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">심각도</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - 기타 시스템 정보</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - 예약됨</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - 예약됨</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - 예약됨</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - 예약됨</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006 - 예약됨</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - 알림: 상태 정보</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008 - 알림: 사용자 개입 필요</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009 - 사용자 정의됨</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - 정보</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011 - 지정된 데이터베이스 개체를 찾을 수 없음</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012 - 사용 안 함</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - 사용자 트랜잭션 구문 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - 불충분한 권한</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - SQL 문의 구문 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - 기타 사용자 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - 불충분한 리소스</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - 치명적이지 않은 내부 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - 치명적인 리소스 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020 - 현재 프로세스 내의 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021 - 데이터베이스 프로세스 내의 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022 - 오류: 테이블 무결성 의심</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - 오류: 데이터베이스 무결성 의심</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - 오류: 하드웨어 오류</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025 - 오류</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
<target state="translated">작업 실행</target>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">작업 이름</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">새 작업</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">운영자</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">전자 메일</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">호출기</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">새 운영자</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
<target state="translated">전송할 추가 알림 메시지</target>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
<target state="translated">응답 사이의 지연</target>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">확인</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">취소</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
<target state="translated">작업 완료 시</target>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
<target state="translated">작업 실패 시</target>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">작업 성공 시</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
<target state="translated">반드시 작업 이름을 지정해야 합니다.</target>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
<target state="translated">작업 업데이트 실패 ' {0} '</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
<target state="translated">SQL Server 이벤트 경고</target>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
<target state="translated">SQL Server 성능 조건 경고</target>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">WMI 이벤트 경고</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
<target state="translated">이 기능은 아직 개발 중입니다. 가장 최근의 변경 사항을 이용하고 싶으시다면 최신 인사이더 빌드를 확인하세요!</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,776 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">Novo horário</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nome de agenda</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Horários</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
<target state="translated">Criar proxy</target>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
<target state="translated">Editar proxy</target>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">Geral</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
<target state="translated">Nome de proxy</target>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">Nome da credencial</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">Descrição</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
<target state="translated">Subsistema</target>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">Sistema operacional (CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">Snapshot de replicação</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
<target state="translated">Leitor de Log de transações de replicação</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
<target state="translated">Distribuidor de replicação</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
<target state="translated">Replicação de mesclagem</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
<target state="translated">Leitor de fila de replicação</target>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
<target state="translated">Consulta do SQL Server Analysis Services</target>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
<target state="translated">Comando do SQL Server Analysis Services</target>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
<target state="translated">Pacote do SQL Server Integration Services</target>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
<target state="translated">PowerShell</target>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
<target state="translated">Ativo para os seguintes subsistemas</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">Planos de trabalho</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nome de agenda</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Horários</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
<target state="translated">Criar operador</target>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
<target state="translated">Editar o operador</target>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">Geral</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Notificações</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nome</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Habilitado</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
<target state="translated">Nome do e-mail</target>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
<target state="translated">Nome de email do pager</target>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">Segunda-feira</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">Terça-feira</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">Quarta-feira</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">Quinta-feira</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
<target state="translated">Sexta-feira </target>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">Sábado</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">Domingo</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
<target state="translated">Começar a jornada de trabalho</target>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">Final do dia útil</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
<target state="translated">Pager no horário de trabalho</target>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
<target state="translated">Lista de alerta</target>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">Nome do alerta</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">E-mail</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">Pager</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">Nova etapa de trabalho</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
<target state="translated">Localizar arquivos de banco de dados -</target>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Geral</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">Avançado</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
<target state="translated">Abrir...</target>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">Analisar</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">Próximo</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">Anterior</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
<target state="translated">Comando analisado com sucesso.</target>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
<target state="translated">Comando falhou.</target>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
<target state="translated">O nome do passo não pode ser deixado em branco</target>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
<target state="translated">Nome da etapa</target>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
<target state="translated">Executar como</target>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">Banco de dados</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">Comando</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
<target state="translated">Ação em caso de sucesso</target>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
<target state="translated">Falha na ação</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
<target state="translated">Executar como usuário</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
<target state="translated">Tentativas de repetição</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
<target state="translated">Intervalo (em minutos) de repetição</target>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
<target state="translated">A tabela de log</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
<target state="translated">Acrescentar a saída para entrada existente na tabela</target>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
<target state="translated">Incluir a saída da etapa no histórico</target>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">Arquivo de Saída</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
<target state="translated">Acrescentar a saída em um arquivo existente</target>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">Caminho selecionado</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">Tipo de Arquivos</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">Nome do Arquivo</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
<target state="translated">Todos os arquivos (*)</target>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
<target state="translated">Script Transact-SQL (T-SQL)</target>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">Conta de Serviço SQL Server Agent</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
<target state="translated">Avançar para o próximo passo</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">Encerrar o trabalho reportando sucesso</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
<target state="translated">Deixar o trabalho relatando a falha</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Geral</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
<target state="translated">Passos</target>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Horários</target>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">Alertas</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Notificações</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
<target state="translated">O nome do trabalho não pode ser em branco.</target>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">Nome</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">Proprietário</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">Categoria</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">Descrição</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Habilitado</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
<target state="translated">Lista de passos do job</target>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">Etapa</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">No sucesso</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">Em caso de falha</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">Novo...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">Editar</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">Excluir</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
<target state="translated">Mover o passo acima</target>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
<target state="translated">Mover o passo acima</target>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
<target state="translated">Ações a executar quando o trabalho for concluído</target>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
<target state="translated">Email</target>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Página</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
<target state="translated">Escrever no log de eventos de aplicações do Windows</target>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
<target state="translated">Excluir automaticamente o job.</target>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
<target state="translated">Lista de Schedules</target>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
<target state="translated">Escolha o horário</target>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Nome de agenda</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
<target state="translated">Lista de alertas</target>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">Novo alerta</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">Nome do alerta</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">Novo job</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
<target state="translated">Editar job</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
<target state="translated">Criar alerta</target>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
<target state="translated">Editar alerta</target>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">Geral</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
<target state="translated">Resposta</target>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">Opções</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">Definição de alerta de eventos</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">Nome</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Tipo</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Habilitado</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nome do banco de dados</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
<target state="translated">Número do erro</target>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">Gravidade</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
<target state="translated">Gerar alerta quando a mensagem contém</target>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
<target state="translated">Mensagem de texto</target>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - Informações Diversas do Sistema</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - Reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - Reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - Reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - Reservados</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006 Reservado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - Notificação: Informações de Status</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008 - notificação: Necessidade de intervenção de usuário</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009 - Definidos pelo Usuário</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - informações</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011 - objeto de banco de dados especificado não encontrado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012 Não usado</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - Erro de sintaxe de transação do usuário</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - Permissão insuficiente</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - Erro de sintaxe em instruções SQL</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - Diversos erros de usuário</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - Recursos insuficientes</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - Erro Interno Não fatal</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - Erro Fatal no Recurso</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020 - Erro fatal no processo atual</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021 - Erro Fatal no banco de dados de processos</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022 - Erro Fatal: Integridade da Tabela Suspeita</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - Erro Fatal: Integridade do Banco de Dados Suspeita</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - Erro Fatal: Erro de Hardware</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025 - Erro Fatal</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
<target state="translated">Executar o Job</target>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">Nome da Tarefa</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
<target state="translated">Notificar operadores</target>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">Novo job</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
<target state="translated">Lista de operador</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">Operador</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">E-mail</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">Pager</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">Novo operador</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
<target state="translated">Incluir texto de erro do alerta no e-mail</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
<target state="translated">Incluir o texto de alerta de erro no pager</target>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
<target state="translated">Mensagem de notificação adicional para enviar</target>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
<target state="translated">Atraso entre respostas</target>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
<target state="translated">Minutos de atraso</target>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
<target state="translated">Segundos de atraso</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">OK</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
<target state="translated">Quando o job estiver concluído</target>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
<target state="translated">Quando o job falhar.</target>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">Quando o job for bem sucedido</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
<target state="translated">O nome do job deve ser fornecido</target>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
<target state="translated">Falha de atualização do job '{0}'</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
<target state="translated">Falha na atualização alerta '{0}'</target>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
<target state="translated">Alerta de evento do SQL Server</target>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
<target state="translated">Alerta de condição de desempenho do SQL Server</target>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">Alerta de evento WMI</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
<target state="translated">Este recurso está em desenvolvimento. Verifique se você gostaria de experimentar as últimas alterações liberadas!</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,722 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">Создание расписания</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">ОК</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Отмена</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Имя расписания</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Расписания</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">Общее</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">Имя учетных данных</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">Описание</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
<target state="translated">Подсистема</target>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">Операционная система (CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">Репликация: моментальный снимок</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
<target state="translated">Репликация: средство чтения журнала транзакций</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
<target state="translated">Репликация: распространитель</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
<target state="translated">Репликация: слияние</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
<target state="translated">Репликация: средство просмотра очередей</target>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
<target state="translated">Запрос служб SQL Server Analysis Services</target>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
<target state="translated">Команда служб SQL Server Analysis Services</target>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
<target state="translated">Пакет служб SQL Server Integration Services</target>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
<target state="translated">PowerShell</target>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">Расписания заданий</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">ОК</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Отмена</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Имя расписания</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Расписания</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">Общее</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Уведомления</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">Имя</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Включено</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">понедельник</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">вторник</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">среда</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">четверг</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">суббота</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">воскресенье</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
<target state="translated">Начало рабочего дня</target>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">Конец рабочего дня</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">Имя предупреждения</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">Электронная почта</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">Пейджер</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">Создание шага задания</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">ОК</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Отмена</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Общее</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">Дополнительный</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">Синтаксический анализ</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">Далее</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">Назад</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
<target state="translated">Синтаксический анализ команды успешно завершен.</target>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
<target state="translated">Имя шага</target>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">Тип</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">База данных</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">Команда</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">Выходной файл</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">Файлы данного типа</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">Имя файла</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
<target state="translated">Скрипт Transact-SQL (T-SQL)</target>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">Учетная запись службы агент SQL Server""""</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
<target state="translated">Перейти к следующему шагу</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">Завершить задание с успехом</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
<target state="translated">Завершить задание с ошибкой</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">Общее</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
<target state="translated">Шаги</target>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">Расписания</target>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">Предупреждения</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">Уведомления</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
<target state="translated">Имя задания не может быть пустым.</target>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">Имя</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">Владелец</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">Категория</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">Описание</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Включено</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">Шаг</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">Тип</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">При успешном завершении</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">При сбое</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">Новые функции...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">Изменить</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">Удалить</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">Page</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
<target state="translated">Выбор расписания</target>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">Имя расписания</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">Создание предупреждения</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">Имя предупреждения</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">Создание задания</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">Общее</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
<target state="translated">Ответ</target>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">Параметры</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">Определение предупреждения о событии</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">Имя</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">Тип</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">Включено</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Имя базы данных</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
<target state="translated">Номер ошибки</target>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">Серьезность</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - Различные системные сведения</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - Зарезервировано</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003 - Зарезервировано</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004 - Зарезервировано</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005 - Зарезервировано</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006 - Зарезервировано</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007 - Уведомление: сведения о состоянии</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008 - Уведомление: требуется вмешательство пользователя</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009 - Определяемый пользователем</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - Сведения</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011 - Указанный объект базы данных не найден</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012 - Не используется</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013 - Синтаксическая ошибка пользовательской транзакции</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014 - Недостаточно разрешений</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015 - Синтаксическая ошибка в инструкциях SQL</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - Другая пользовательская ошибка</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017 - Недостаточно ресурсов</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - Некритичная внутренняя ошибка</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 - Неустранимая ошибка в ресурсе</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020 - Неустранимая ошибка в текущем процессе</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021 - Неустранимая ошибка в процессах базы данных</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022 - Неустранимая ошибка: возможно повреждение целостности таблицы</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - Неустранимая ошибка: возможно повреждение целостности базы данных</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024 - Неустранимая ошибка: аппаратная ошибка</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025 - Неустранимая ошибка</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">Имя задания</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">Создание задания</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">Оператор</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">Электронная почта</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">Пейджер</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">Создание оператора</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">ОК</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Отмена</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
<target state="translated">При завершении задания</target>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
<target state="translated">При ошибке задания</target>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">При успешном завершении задания</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
<target state="translated">Предупреждение о событии SQL Server</target>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
<target state="translated">Предупреждение о производительности SQL Server</target>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">Предупреждение о событии WMI</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,777 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
<target state="translated">新计划</target>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">确定</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">计划名称</target>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">计划</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
<target state="translated">创建代理服务器</target>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
<target state="translated">编辑代理服务器</target>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">常规</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
<target state="translated">代理服务器名称</target>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">凭据名称</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">说明</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
<target state="translated">子系统</target>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
<target state="translated">操作系统 (CmdExec)</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
<target state="translated">复制快照</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
<target state="translated">复制事务日志读取器</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
<target state="translated">复制分发服务器</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
<target state="translated">复制合并</target>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
<target state="translated">复制队列读取器</target>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
<target state="translated">SQL server 分析服务查询</target>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
<target state="translated">SQL server 分析服务命令</target>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
<target state="translated">SQL Server 集成服务包</target>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
<target state="translated">PowerShell</target>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
<target state="translated">对以下子系统有效</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">作业计划</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">确定</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
<target state="translated">计划名称</target>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">计划</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
<target state="translated">创建操作符</target>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
<target state="translated">编辑操作员</target>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">常规</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">通知</target>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">名称</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">已启用</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
<target state="translated">电子邮件名称</target>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
<target state="translated">寻呼机电子邮件名称</target>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
<target state="translated">星期一</target>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
<target state="translated">星期二</target>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
<target state="translated">星期三</target>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
<target state="translated">星期四</target>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
<target state="translated">星期五</target>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
<target state="translated">星期六</target>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
<target state="translated">星期天</target>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
<target state="translated">工作日开始</target>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
<target state="translated">工作日结束</target>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
<target state="translated">值班 schdule 的寻呼机</target>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
<target state="translated">警报列表</target>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
<target state="translated">警报名称</target>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">电子邮件</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">分页</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
<target state="translated">新建作业步骤</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
<target state="translated">定位数据库文件-</target>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">确定</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">常规</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">高级</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
<target state="translated">打开...</target>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">分析</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">下一个</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">上一个</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
<target state="translated">该命令已成功解析。</target>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
<target state="translated">命令失败。</target>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
<target state="translated">步骤名称不能留空</target>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
<target state="translated">步骤名称</target>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">类型</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
<target state="translated">运行为</target>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">数据库</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">命令</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
<target state="translated">关于成功行动</target>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
<target state="translated">失败操作时</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
<target state="translated">使用用户身份执行</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
<target state="translated">重试尝试</target>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
<target state="translated">重试间隔 (分钟)</target>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
<target state="translated">记录到表</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
<target state="translated">将输出附加到表中的现有条目</target>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
<target state="translated">在历史记录中包括步骤输出</target>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">输出文件</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
<target state="translated">将输出追加到现有文件中</target>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">选定的路径</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">文件类型</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">文件名</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
<target state="translated">所有文件 (*)</target>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
<target state="translated">Transact-SQL 脚本 (T-SQL)</target>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
<target state="translated">SQL server 代理服务帐户</target>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
<target state="translated">转到下一步骤</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
<target state="translated">退出工作报告成功</target>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
<target state="translated">离开作业调度报告时发生错误。</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">常规</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
<target state="translated">步骤</target>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
<target state="translated">计划</target>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
<target state="translated">警报</target>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
<target state="translated">通知</target>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
<target state="translated">作业名称不能为空。</target>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">名称</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">所有者</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">类别</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">说明</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">已启用</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
<target state="translated">作业步骤列表</target>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">步骤</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">类型</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
<target state="translated">在成功时</target>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
<target state="translated">失败时</target>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">新建...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">编辑</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">删除</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
<target state="translated">向上移动</target>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
<target state="translated">向上移动</target>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
<target state="translated">作业完成时要执行的操作</target>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
<target state="translated">电子邮件</target>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">页</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
<target state="translated">写入 Windows 应用程序事件日志</target>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
<target state="translated">自动删除作业</target>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
<target state="translated">计划列表</target>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
<target state="translated">挑选时间表</target>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
<target state="translated">计划名称</target>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
<target state="translated">通知列表</target>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
<target state="translated">新警报</target>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
<target state="translated">警报名称</target>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">新作业</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
<target state="translated">编辑作业</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
<target state="translated">创建警报</target>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
<target state="translated">编辑警报</target>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">常规</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
<target state="translated">响应</target>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">选项</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
<target state="translated">事件警报定义</target>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">名称</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">类型</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">已启用</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">数据库名称</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
<target state="translated">错误号</target>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">严重性</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
<target state="translated">消息包含时引发警报</target>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
<target state="translated">消息文本</target>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
<target state="translated">001 - 其他系统信息</target>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002-预留</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
<target state="translated">003-预留</target>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
<target state="translated">004-预留</target>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
<target state="translated">005-预留</target>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
<target state="translated">006-预留</target>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
<target state="translated">007-通知: 状态信息</target>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
<target state="translated">008-通知: 需要用户干预</target>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
<target state="translated">009-用户定义的</target>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010-信息</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
<target state="translated">011-未找到指定的数据库对象</target>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
<target state="translated">012-未使用</target>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
<target state="translated">013-用户事务语法错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
<target state="translated">014-权限不足</target>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
<target state="translated">015-SQL 语句中的语法错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016-杂项用户错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
<target state="translated">017-资源不足</target>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
<target state="translated">018 - 非致命内部错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
<target state="translated">019 -资源致命错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
<target state="translated">020-当前过程中的致命错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
<target state="translated">021-数据库进程中的致命错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
<target state="translated">022-致命错误: 表完整性可疑</target>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023-致命错误: 数据库完整性不可靠</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
<target state="translated">024-致命错误: 硬件错误</target>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
<target state="translated">025-致命错误</target>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
<target state="translated">lt;所有数据库gt;</target>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
<target state="translated">执行作业</target>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">作业名称</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
<target state="translated">通知操作员</target>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">新作业</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
<target state="translated">操作员列表</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">运算符</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">电子邮件</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">分页</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
<target state="translated">新建操作符</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
<target state="translated">在电子邮件中包含警告错误文本</target>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
<target state="translated">在寻呼机中包含警报错误文本</target>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
<target state="translated">要发送的其他通知消息</target>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
<target state="translated">响应之间的延迟</target>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
<target state="translated">延迟分钟数</target>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
<target state="translated">延迟秒数</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">确定</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
<target state="translated">当作业完成时</target>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
<target state="translated">当作业失败时</target>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
<target state="translated">当作业成功时</target>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
<target state="translated">必须提供作业名称</target>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
<target state="translated">作业更新失败 "{0}"</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
<target state="translated">警报更新失败 "{0}"</target>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
<target state="translated">SQL server 事件警报</target>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
<target state="translated">SQL Server 性能状况警报</target>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
<target state="translated">WMI 事件警报</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
<target state="translated">此功能正在开发中。 如果你想尝试最新的改进请签出最新的内部构建体验。</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,650 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/agent/out/dialogs/scheduleDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="scheduleDialog.newSchedule">
<source xml:lang="en">New Schedule</source>
</trans-unit>
<trans-unit id="scheduleDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">確定</target>
</trans-unit>
<trans-unit id="scheduleDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="scheduleDialog.scheduleName">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="scheduleDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/proxyDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="createProxy.createProxy">
<source xml:lang="en">Create Proxy</source>
</trans-unit>
<trans-unit id="createProxy.editProxy">
<source xml:lang="en">Edit Proxy</source>
</trans-unit>
<trans-unit id="createProxy.General">
<source xml:lang="en">General</source>
<target state="translated">一般</target>
</trans-unit>
<trans-unit id="createProxy.ProxyName">
<source xml:lang="en">Proxy name</source>
</trans-unit>
<trans-unit id="createProxy.CredentialName">
<source xml:lang="en">Credential name</source>
<target state="translated">認證名稱</target>
</trans-unit>
<trans-unit id="createProxy.Description">
<source xml:lang="en">Description</source>
<target state="translated">描述</target>
</trans-unit>
<trans-unit id="createProxy.SubsystemName">
<source xml:lang="en">Subsystem</source>
</trans-unit>
<trans-unit id="createProxy.OperatingSystem">
<source xml:lang="en">Operating system (CmdExec)</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationSnapshot">
<source xml:lang="en">Replication Snapshot</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationTransactionLog">
<source xml:lang="en">Replication Transaction-Log Reader</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationDistributor">
<source xml:lang="en">Replication Distributor</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationMerge">
<source xml:lang="en">Replication Merge</source>
</trans-unit>
<trans-unit id="createProxy.ReplicationQueueReader">
<source xml:lang="en">Replication Queue Reader</source>
</trans-unit>
<trans-unit id="createProxy.SSASQueryLabel">
<source xml:lang="en">SQL Server Analysis Services Query</source>
</trans-unit>
<trans-unit id="createProxy.SSASCommandLabel">
<source xml:lang="en">SQL Server Analysis Services Command</source>
</trans-unit>
<trans-unit id="createProxy.SSISPackage">
<source xml:lang="en">SQL Server Integration Services Package</source>
</trans-unit>
<trans-unit id="createProxy.PowerShell">
<source xml:lang="en">PowerShell</source>
</trans-unit>
<trans-unit id="createProxy.subSystemHeading">
<source xml:lang="en">Active to the following subsytems</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/pickScheduleDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="pickSchedule.jobSchedules">
<source xml:lang="en">Job Schedules</source>
<target state="translated">作業排程</target>
</trans-unit>
<trans-unit id="pickSchedule.ok">
<source xml:lang="en">OK</source>
<target state="translated">確定</target>
</trans-unit>
<trans-unit id="pickSchedule.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="pickSchedule.scheduleName">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="pickSchedule.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/operatorDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="createOperator.createOperator">
<source xml:lang="en">Create Operator</source>
</trans-unit>
<trans-unit id="createOperator.editOperator">
<source xml:lang="en">Edit Operator</source>
</trans-unit>
<trans-unit id="createOperator.General">
<source xml:lang="en">General</source>
<target state="translated">一般</target>
</trans-unit>
<trans-unit id="createOperator.Notifications">
<source xml:lang="en">Notifications</source>
</trans-unit>
<trans-unit id="createOperator.Name">
<source xml:lang="en">Name</source>
<target state="translated">名稱</target>
</trans-unit>
<trans-unit id="createOperator.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">啟用</target>
</trans-unit>
<trans-unit id="createOperator.EmailName">
<source xml:lang="en">E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerEmailName">
<source xml:lang="en">Pager E-mail Name</source>
</trans-unit>
<trans-unit id="createOperator.PagerMondayCheckBox">
<source xml:lang="en">Monday</source>
</trans-unit>
<trans-unit id="createOperator.PagerTuesdayCheckBox">
<source xml:lang="en">Tuesday</source>
</trans-unit>
<trans-unit id="createOperator.PagerWednesdayCheckBox">
<source xml:lang="en">Wednesday</source>
</trans-unit>
<trans-unit id="createOperator.PagerThursdayCheckBox">
<source xml:lang="en">Thursday</source>
</trans-unit>
<trans-unit id="createOperator.PagerFridayCheckBox">
<source xml:lang="en">Friday </source>
</trans-unit>
<trans-unit id="createOperator.PagerSaturdayCheckBox">
<source xml:lang="en">Saturday</source>
</trans-unit>
<trans-unit id="createOperator.PagerSundayCheckBox">
<source xml:lang="en">Sunday</source>
</trans-unit>
<trans-unit id="createOperator.workdayBegin">
<source xml:lang="en">Workday begin</source>
</trans-unit>
<trans-unit id="createOperator.workdayEnd">
<source xml:lang="en">Workday end</source>
</trans-unit>
<trans-unit id="createOperator.PagerDutySchedule">
<source xml:lang="en">Pager on duty schdule</source>
</trans-unit>
<trans-unit id="createOperator.AlertListHeading">
<source xml:lang="en">Alert list</source>
</trans-unit>
<trans-unit id="createOperator.AlertNameColumnLabel">
<source xml:lang="en">Alert name</source>
</trans-unit>
<trans-unit id="createOperator.AlertEmailColumnLabel">
<source xml:lang="en">E-mail</source>
<target state="translated">電子郵件</target>
</trans-unit>
<trans-unit id="createOperator.AlertPagerColumnLabel">
<source xml:lang="en">Pager</source>
<target state="translated">頁面巡覽區</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobStepDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="jobStepDialog.newJobStep">
<source xml:lang="en">New Job Step</source>
</trans-unit>
<trans-unit id="jobStepDialog.fileBrowserTitle">
<source xml:lang="en">Locate Database Files - </source>
</trans-unit>
<trans-unit id="jobStepDialog.ok">
<source xml:lang="en">OK</source>
<target state="translated">確定</target>
</trans-unit>
<trans-unit id="jobStepDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="jobStepDialog.general">
<source xml:lang="en">General</source>
<target state="translated">一般</target>
</trans-unit>
<trans-unit id="jobStepDialog.advanced">
<source xml:lang="en">Advanced</source>
<target state="translated">進階</target>
</trans-unit>
<trans-unit id="jobStepDialog.open">
<source xml:lang="en">Open...</source>
</trans-unit>
<trans-unit id="jobStepDialog.parse">
<source xml:lang="en">Parse</source>
<target state="translated">剖析</target>
</trans-unit>
<trans-unit id="jobStepDialog.next">
<source xml:lang="en">Next</source>
<target state="translated">下一個</target>
</trans-unit>
<trans-unit id="jobStepDialog.previous">
<source xml:lang="en">Previous</source>
<target state="translated">上一個</target>
</trans-unit>
<trans-unit id="jobStepDialog.successParse">
<source xml:lang="en">The command was successfully parsed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.failParse">
<source xml:lang="en">The command failed.</source>
</trans-unit>
<trans-unit id="jobStepDialog.blankStepName">
<source xml:lang="en">The step name cannot be left blank</source>
</trans-unit>
<trans-unit id="jobStepDialog.stepNameLabel">
<source xml:lang="en">Step Name</source>
</trans-unit>
<trans-unit id="jobStepDialog.typeLabel">
<source xml:lang="en">Type</source>
<target state="translated">型別</target>
</trans-unit>
<trans-unit id="jobStepDialog.runAsLabel">
<source xml:lang="en">Run as</source>
</trans-unit>
<trans-unit id="jobStepDialog.databaseLabel">
<source xml:lang="en">Database</source>
<target state="translated">資料庫</target>
</trans-unit>
<trans-unit id="jobStepDialog.commandLabel">
<source xml:lang="en">Command</source>
<target state="translated">命令</target>
</trans-unit>
<trans-unit id="jobStepDialog.successAction">
<source xml:lang="en">On success action</source>
</trans-unit>
<trans-unit id="jobStepDialog.failureAction">
<source xml:lang="en">On failure action</source>
</trans-unit>
<trans-unit id="jobStepDialog.runAsUser">
<source xml:lang="en">Run as user</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryAttempts">
<source xml:lang="en">Retry Attempts</source>
</trans-unit>
<trans-unit id="jobStepDialog.retryInterval">
<source xml:lang="en">Retry Interval (minutes)</source>
</trans-unit>
<trans-unit id="jobStepDialog.logToTable">
<source xml:lang="en">Log to table</source>
</trans-unit>
<trans-unit id="jobStepDialog.appendExistingTableEntry">
<source xml:lang="en">Append output to exisiting entry in table</source>
</trans-unit>
<trans-unit id="jobStepDialog.includeStepOutputHistory">
<source xml:lang="en">Include step output in history</source>
</trans-unit>
<trans-unit id="jobStepDialog.outputFile">
<source xml:lang="en">Output File</source>
<target state="translated">輸出檔案</target>
</trans-unit>
<trans-unit id="jobStepDialog.appendOutputToFile">
<source xml:lang="en">Append output to existing file</source>
</trans-unit>
<trans-unit id="jobStepDialog.selectedPath">
<source xml:lang="en">Selected path</source>
<target state="translated">選擇的路徑</target>
</trans-unit>
<trans-unit id="jobStepDialog.filesOfType">
<source xml:lang="en">Files of type</source>
<target state="translated">檔案類型</target>
</trans-unit>
<trans-unit id="jobStepDialog.fileName">
<source xml:lang="en">File name</source>
<target state="translated">檔案名稱</target>
</trans-unit>
<trans-unit id="jobStepDialog.allFiles">
<source xml:lang="en">All Files (*)</source>
</trans-unit>
<trans-unit id="jobStepDialog.TSQL">
<source xml:lang="en">Transact-SQL script (T-SQL)</source>
</trans-unit>
<trans-unit id="jobStepDialog.agentServiceAccount">
<source xml:lang="en">SQL Server Agent Service Account</source>
</trans-unit>
<trans-unit id="jobStepDialog.nextStep">
<source xml:lang="en">Go to the next step</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobSuccess">
<source xml:lang="en">Quit the job reporting success</source>
</trans-unit>
<trans-unit id="jobStepDialog.quitJobFailure">
<source xml:lang="en">Quit the job reporting failure</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/jobDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="jobDialog.general">
<source xml:lang="en">General</source>
<target state="translated">一般</target>
</trans-unit>
<trans-unit id="jobDialog.steps">
<source xml:lang="en">Steps</source>
</trans-unit>
<trans-unit id="jobDialog.schedules">
<source xml:lang="en">Schedules</source>
</trans-unit>
<trans-unit id="jobDialog.alerts">
<source xml:lang="en">Alerts</source>
</trans-unit>
<trans-unit id="jobDialog.notifications">
<source xml:lang="en">Notifications</source>
</trans-unit>
<trans-unit id="jobDialog.blankJobNameError">
<source xml:lang="en">The name of the job cannot be blank.</source>
</trans-unit>
<trans-unit id="jobDialog.name">
<source xml:lang="en">Name</source>
<target state="translated">名稱</target>
</trans-unit>
<trans-unit id="jobDialog.owner">
<source xml:lang="en">Owner</source>
<target state="translated">擁有者</target>
</trans-unit>
<trans-unit id="jobDialog.category">
<source xml:lang="en">Category</source>
<target state="translated">分類</target>
</trans-unit>
<trans-unit id="jobDialog.description">
<source xml:lang="en">Description</source>
<target state="translated">描述</target>
</trans-unit>
<trans-unit id="jobDialog.enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">啟用</target>
</trans-unit>
<trans-unit id="jobDialog.jobStepList">
<source xml:lang="en">Job step list</source>
</trans-unit>
<trans-unit id="jobDialog.step">
<source xml:lang="en">Step</source>
<target state="translated">步驟</target>
</trans-unit>
<trans-unit id="jobDialog.type">
<source xml:lang="en">Type</source>
<target state="translated">型別</target>
</trans-unit>
<trans-unit id="jobDialog.onSuccess">
<source xml:lang="en">On Success</source>
</trans-unit>
<trans-unit id="jobDialog.onFailure">
<source xml:lang="en">On Failure</source>
</trans-unit>
<trans-unit id="jobDialog.new">
<source xml:lang="en">New...</source>
<target state="translated">新增...</target>
</trans-unit>
<trans-unit id="jobDialog.edit">
<source xml:lang="en">Edit</source>
<target state="translated">編輯</target>
</trans-unit>
<trans-unit id="jobDialog.delete">
<source xml:lang="en">Delete</source>
<target state="translated">刪除</target>
</trans-unit>
<trans-unit id="jobDialog.moveUp">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.moveDown">
<source xml:lang="en">Move Step Up</source>
</trans-unit>
<trans-unit id="jobDialog.notificationsTabTop">
<source xml:lang="en">Actions to perform when the job completes</source>
<target state="translated">作業完成時要執行的操作</target>
</trans-unit>
<trans-unit id="jobDialog.email">
<source xml:lang="en">Email</source>
</trans-unit>
<trans-unit id="jobDialog.page">
<source xml:lang="en">Page</source>
<target state="translated">頁面</target>
</trans-unit>
<trans-unit id="jobDialog.eventLogCheckBoxLabel">
<source xml:lang="en">Write to the Windows Application event log</source>
</trans-unit>
<trans-unit id="jobDialog.deleteJobLabel">
<source xml:lang="en">Automatically delete job</source>
</trans-unit>
<trans-unit id="jobDialog.schedulesaLabel">
<source xml:lang="en">Schedules list</source>
</trans-unit>
<trans-unit id="jobDialog.pickSchedule">
<source xml:lang="en">Pick Schedule</source>
</trans-unit>
<trans-unit id="jobDialog.scheduleNameLabel">
<source xml:lang="en">Schedule Name</source>
</trans-unit>
<trans-unit id="jobDialog.alertsList">
<source xml:lang="en">Alerts list</source>
</trans-unit>
<trans-unit id="jobDialog.newAlert">
<source xml:lang="en">New Alert</source>
</trans-unit>
<trans-unit id="jobDialog.alertNameLabel">
<source xml:lang="en">Alert Name</source>
</trans-unit>
<trans-unit id="jobDialog.newJob">
<source xml:lang="en">New Job</source>
<target state="translated">新工作</target>
</trans-unit>
<trans-unit id="jobDialog.editJob">
<source xml:lang="en">Edit Job</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/alertDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="alertDialog.createAlert">
<source xml:lang="en">Create Alert</source>
</trans-unit>
<trans-unit id="alertDialog.editAlert">
<source xml:lang="en">Edit Alert</source>
</trans-unit>
<trans-unit id="alertDialog.General">
<source xml:lang="en">General</source>
<target state="translated">一般</target>
</trans-unit>
<trans-unit id="alertDialog.Response">
<source xml:lang="en">Response</source>
</trans-unit>
<trans-unit id="alertDialog.Options">
<source xml:lang="en">Options</source>
<target state="translated">選項</target>
</trans-unit>
<trans-unit id="alertDialog.eventAlert">
<source xml:lang="en">Event alert definition</source>
</trans-unit>
<trans-unit id="alertDialog.Name">
<source xml:lang="en">Name</source>
<target state="translated">名稱</target>
</trans-unit>
<trans-unit id="alertDialog.Type">
<source xml:lang="en">Type</source>
<target state="translated">型別</target>
</trans-unit>
<trans-unit id="alertDialog.Enabled">
<source xml:lang="en">Enabled</source>
<target state="translated">啟用</target>
</trans-unit>
<trans-unit id="alertDialog.DatabaseName">
<source xml:lang="en">Database name</source>
<target state="translated">資料庫名稱</target>
</trans-unit>
<trans-unit id="alertDialog.ErrorNumber">
<source xml:lang="en">Error number</source>
</trans-unit>
<trans-unit id="alertDialog.Severity">
<source xml:lang="en">Severity</source>
<target state="translated">嚴重性</target>
</trans-unit>
<trans-unit id="alertDialog.RaiseAlertContains">
<source xml:lang="en">Raise alert when message contains</source>
</trans-unit>
<trans-unit id="alertDialog.MessageText">
<source xml:lang="en">Message text</source>
</trans-unit>
<trans-unit id="alertDialog.Severity001">
<source xml:lang="en">001 - Miscellaneous System Information</source>
</trans-unit>
<trans-unit id="alertDialog.Severity002">
<source xml:lang="en">002 - Reserved</source>
<target state="translated">002 - 預留</target>
</trans-unit>
<trans-unit id="alertDialog.Severity003">
<source xml:lang="en">003 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity004">
<source xml:lang="en">004 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity005">
<source xml:lang="en">005 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity006">
<source xml:lang="en">006 - Reserved</source>
</trans-unit>
<trans-unit id="alertDialog.Severity007">
<source xml:lang="en">007 - Notification: Status Information</source>
</trans-unit>
<trans-unit id="alertDialog.Severity008">
<source xml:lang="en">008 - Notification: User Intervention Required</source>
</trans-unit>
<trans-unit id="alertDialog.Severity009">
<source xml:lang="en">009 - User Defined</source>
</trans-unit>
<trans-unit id="alertDialog.Severity010">
<source xml:lang="en">010 - Information</source>
<target state="translated">010 - 資訊</target>
</trans-unit>
<trans-unit id="alertDialog.Severity011">
<source xml:lang="en">011 - Specified Database Object Not Found</source>
</trans-unit>
<trans-unit id="alertDialog.Severity012">
<source xml:lang="en">012 - Unused</source>
</trans-unit>
<trans-unit id="alertDialog.Severity013">
<source xml:lang="en">013 - User Transaction Syntax Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity014">
<source xml:lang="en">014 - Insufficient Permission</source>
</trans-unit>
<trans-unit id="alertDialog.Severity015">
<source xml:lang="en">015 - Syntax Error in SQL Statements</source>
</trans-unit>
<trans-unit id="alertDialog.Severity016">
<source xml:lang="en">016 - Miscellaneous User Error</source>
<target state="translated">016 - 其他使用者錯誤</target>
</trans-unit>
<trans-unit id="alertDialog.Severity017">
<source xml:lang="en">017 - Insufficient Resources</source>
</trans-unit>
<trans-unit id="alertDialog.Severity018">
<source xml:lang="en">018 - Nonfatal Internal Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity019">
<source xml:lang="en">019 - Fatal Error in Resource</source>
</trans-unit>
<trans-unit id="alertDialog.Severity020">
<source xml:lang="en">020 - Fatal Error in Current Process</source>
</trans-unit>
<trans-unit id="alertDialog.Severity021">
<source xml:lang="en">021 - Fatal Error in Database Processes</source>
</trans-unit>
<trans-unit id="alertDialog.Severity022">
<source xml:lang="en">022 - Fatal Error: Table Integrity Suspect</source>
</trans-unit>
<trans-unit id="alertDialog.Severity023">
<source xml:lang="en">023 - Fatal Error: Database Integrity Suspect</source>
<target state="translated">023 - 嚴重錯誤: 資料庫完整性有疑慮</target>
</trans-unit>
<trans-unit id="alertDialog.Severity024">
<source xml:lang="en">024 - Fatal Error: Hardware Error</source>
</trans-unit>
<trans-unit id="alertDialog.Severity025">
<source xml:lang="en">025 - Fatal Error</source>
</trans-unit>
<trans-unit id="alertDialog.AllDatabases">
<source xml:lang="en">&lt;all databases&gt;</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJob">
<source xml:lang="en">Execute Job</source>
</trans-unit>
<trans-unit id="alertDialog.ExecuteJobName">
<source xml:lang="en">Job Name</source>
<target state="translated">作業名稱</target>
</trans-unit>
<trans-unit id="alertDialog.NotifyOperators">
<source xml:lang="en">Notify Operators</source>
</trans-unit>
<trans-unit id="alertDialog.NewJob">
<source xml:lang="en">New Job</source>
<target state="translated">新工作</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorList">
<source xml:lang="en">Operator List</source>
</trans-unit>
<trans-unit id="alertDialog.OperatorName">
<source xml:lang="en">Operator</source>
<target state="translated">運算子</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorEmail">
<source xml:lang="en">E-mail</source>
<target state="translated">電子郵件</target>
</trans-unit>
<trans-unit id="alertDialog.OperatorPager">
<source xml:lang="en">Pager</source>
<target state="translated">頁面巡覽區</target>
</trans-unit>
<trans-unit id="alertDialog.NewOperator">
<source xml:lang="en">New Operator</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInEmail">
<source xml:lang="en">Include alert error text in e-mail</source>
</trans-unit>
<trans-unit id="alertDialog.IncludeErrorInPager">
<source xml:lang="en">Include alert error text in pager</source>
</trans-unit>
<trans-unit id="alertDialog.AdditionalNotification">
<source xml:lang="en">Additional notification message to send</source>
</trans-unit>
<trans-unit id="alertDialog.DelayBetweenResponse">
<source xml:lang="en">Delay between responses</source>
</trans-unit>
<trans-unit id="alertDialog.DelayMinutes">
<source xml:lang="en">Delay Minutes</source>
</trans-unit>
<trans-unit id="alertDialog.DelaySeconds">
<source xml:lang="en">Delay Seconds</source>
<target state="translated">延遲秒數</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/dialogs/agentDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="agentDialog.OK">
<source xml:lang="en">OK</source>
<target state="translated">確定</target>
</trans-unit>
<trans-unit id="agentDialog.Cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/jobData" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="jobData.whenJobCompletes">
<source xml:lang="en">When the job completes</source>
</trans-unit>
<trans-unit id="jobData.whenJobFails">
<source xml:lang="en">When the job fails</source>
</trans-unit>
<trans-unit id="jobData.whenJobSucceeds">
<source xml:lang="en">When the job succeeds</source>
</trans-unit>
<trans-unit id="jobData.jobNameRequired">
<source xml:lang="en">Job name must be provided</source>
<target state="translated">必須提供作業名稱</target>
</trans-unit>
<trans-unit id="jobData.saveErrorMessage">
<source xml:lang="en">Job update failed '{0}'</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/data/alertData" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="alertData.saveErrorMessage">
<source xml:lang="en">Alert update failed '{0}'</source>
</trans-unit>
<trans-unit id="alertData.DefaultAlertTypString">
<source xml:lang="en">SQL Server event alert</source>
</trans-unit>
<trans-unit id="alertDialog.PerformanceCondition">
<source xml:lang="en">SQL Server performance condition alert</source>
</trans-unit>
<trans-unit id="alertDialog.WmiEvent">
<source xml:lang="en">WMI event alert</source>
</trans-unit>
</body></file>
<file original="extensions/agent/out/mainController" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="mainController.notImplemented">
<source xml:lang="en">This feature is under development. Check-out the latest insiders build if you'd like to try out the most recent changes!</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,157 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
<target state="translated">Importstatus</target>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">Servername</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Datenbankname</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
<target state="translated">Tabellenname</target>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">Aktualisieren</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">Weiter</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">Spaltenname</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">Datentyp</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">Primärschlüssel</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">NULL-Werte zulassen</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">Durchsuchen</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">Eröffnungskurs</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">INSTALLIERT</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">{0} wird heruntergeladen.</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
<target state="translated">Download-Dienst</target>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
<target state="translated">Bitte verbinden Sie sich mit einem Server, bevor Sie diesen Assistenten verwenden.</target>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">Zusammenfassung</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
<target state="translated">Estado de importación</target>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">Nombre del servidor</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nombre de la base de datos</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">Actualizar</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
<target state="translated">Importar datos</target>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">Siguiente</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">Nombre de columna</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">Tipo de datos</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">Clave principal</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">Permitir valores NULL</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">Examinar</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">Abrir</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
<target state="translated">Servicio iniciado</target>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">INSTALADO</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">Descargando {0}</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">Resumen</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
<target state="translated">Importer les informations</target>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
<target state="translated">État de limportation</target>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">Nom du serveur</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nom de la base de données</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
<target state="translated">Nom de la table</target>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
<target state="translated">Schéma de table</target>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
<target state="translated">✔ Vous avez inséré les données dans une table.</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">Actualiser</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
<target state="translated">Importer des données</target>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">Suivant</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">Nom de la colonne</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">Type de données</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">Clé primaire</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">Autoriser les valeurs Null</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
<target state="translated">Serveur dans lequel se trouve la base de données</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">Parcourir</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">Ouvrir </target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
<target state="translated">Nouveau nom de table</target>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
<target state="translated">Schéma de table</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
<target state="translated">Donner son avis</target>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
<target state="translated">Service démarré</target>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
<target state="translated">Installation du Service</target>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">INSTALLÉ</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">Téléchargement de {0} en cours</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
<target state="translated">Terminé !</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
<target state="translated">Connectez-vous à un serveur avant dutiliser cet Assistant.</target>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
<target state="translated">Spécifier le fichier d'entrée</target>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
<target state="translated">Modifier les colonnes</target>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">Récapitulatif</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">Nome del server</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nome del database</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
<target state="translated">Schema della tabella</target>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">Aggiorna</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">Avanti</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">Nome colonna</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">Tipo di dato</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">Chiave primaria</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">Consenti valori Null</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">Sfoglia</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">Apri</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
<target state="translated">Percorso del file da importare</target>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
<target state="translated">Nuovo nome di tabella</target>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
<target state="translated">Schema della tabella</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
<target state="translated">Lascia un Feedback</target>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
<target state="translated">Servizio avviato</target>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
<target state="translated">Avvio del servizio</target>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">Installato</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
<target state="translated">Specificare il File di Input</target>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">Riepilogo</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">サーバー名</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">データベース名</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">最新の情報に更新</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">次へ</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">列名</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">データ型</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">主キー</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">Null を許容</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">参照</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">開く</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">インストール済み</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">{0} をダウンロードしています</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
<target state="translated">ダウンロード サービス</target>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">概要</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,163 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
<target state="translated">정보 가져오기</target>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
<target state="translated">상태 가져오기</target>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">서버 이름</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">데이터베이스 이름</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
<target state="translated">테이블 이름</target>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
<target state="translated">✔ 테이블에 데이터 입력이 완료되었습니다.</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">새로 고침</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">다음</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">열 이름</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">데이터 타입</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">기본 키</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">NULL 허용</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
<target state="translated">테이블이 생성된 데이터베이스</target>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">찾아보기</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">열기</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
<target state="translated">새 테이블 이름</target>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
<target state="translated">서비스 시작</target>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
<target state="translated">{1}에 {0} 서비스 설치</target>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
<target state="translated">서비스 설치</target>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">설치</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">{0}를 다운로드합니다.</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
<target state="translated">플랫 파일 마법사 불러오기</target>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">요약</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
<target state="translated">Importar informações</target>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
<target state="translated">Status de importação</target>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">Nome do servidor</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Nome do banco de dados</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
<target state="translated">Nome da tabela</target>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
<target state="translated">Esquema de tabela</target>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
<target state="translated">Arquivo a ser importado</target>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
<target state="translated">✔ Dados inseridos na tabela corretamente.</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">Atualizar</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
<target state="translated">Esta operação analisou a estrutura do arquivo de entrada para gerar a previsão abaixo para até as primeiras 50 linhas.</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
<target state="translated">Importar dados</target>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">Próximo</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">Nome da Coluna</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">Tipo de dados</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">Chave Primária</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">Permitir Valores Nulos</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
<target state="translated">Servidor de banco de dados está em</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
<target state="translated">Tabela de banco de dados é criada em</target>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">Procurar</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">Aberta</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
<target state="translated">Localização do arquivo a ser importado</target>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
<target state="translated">Nome da nova tabela</target>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
<target state="translated">Esquema de tabela</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
<target state="translated">Dar Feedback</target>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
<target state="translated">componente de serviço não pôde ser iniciado</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
<target state="translated">Serviço iniciado</target>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
<target state="translated">Iniciando serviço</target>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
<target state="translated">Falha para iniciar o serviço de importação {0}</target>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
<target state="translated">Instalando o serviço {0} de {1}</target>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
<target state="translated">Instalando serviço</target>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">INSTALADO</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">Baixando {0}</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
<target state="translated">Transferindo o serviço</target>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
<target state="translated">Feito!</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
<target state="translated">Por favor, conecte-se a um servidor antes de usar este assistente.</target>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
<target state="translated">Assistente de importação de arquivo simples</target>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
<target state="translated">Especificar o arquivo de entrada</target>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
<target state="translated">Prévia de dados</target>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
<target state="translated">Modificar colunas</target>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">Resumo</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
<target state="translated">Importar novo arquivo</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">Имя сервера</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">Имя базы данных</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
<target state="translated">Имя таблицы</target>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">Обновить</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">Далее</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">Имя столбца</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">Тип данных</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">Первичный ключ</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">Разрешить значения NULL</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">Обзор</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">Открыто</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">УСТАНОВЛЕН</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">Загрузка {0}</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">Сводка</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
<target state="translated">导入信息</target>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
<target state="translated">导入状态</target>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">服务器名称</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">数据库名称</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
<target state="translated">表名称</target>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
<target state="translated">表架构</target>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
<target state="translated">要导入的文件</target>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
<target state="translated">✔已成功将数据插入表中。</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">刷新</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
<target state="translated">此操作分析了输入文件的结构, 以生成下方前50行的预览。</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
<target state="translated">导入数据</target>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">下一个</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">列名</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">数据类型</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">主键</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">允许 Null</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
<target state="translated">数据库所在的服务器</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
<target state="translated">创建表的数据库</target>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">浏览</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">打开</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
<target state="translated">要导入文件的位置</target>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
<target state="translated">新表名</target>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
<target state="translated">表架构</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
<target state="translated">提供反馈</target>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
<target state="translated">服务组件无法启动</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
<target state="translated">服务已启动</target>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
<target state="translated">启动服务</target>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
<target state="translated">无法启动导入服务{0}</target>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
<target state="translated">正在将 {0} 服务安装到 {1}</target>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
<target state="translated">安装服务</target>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">已安装</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">下载 {0}</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
<target state="translated">下载服务</target>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
<target state="translated">完成!</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
<target state="translated">请在使用此向导之前连接到服务器。</target>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
<target state="translated">导入平面文件向导</target>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
<target state="translated">指定输入文件</target>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
<target state="translated">预览数据</target>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
<target state="translated">修改列</target>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">摘要</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
<target state="translated">导入新文件</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/import/out/wizard/pages/summaryPage" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importInformation">
<source xml:lang="en">Import information</source>
</trans-unit>
<trans-unit id="flatFileImport.importStatus">
<source xml:lang="en">Import status</source>
</trans-unit>
<trans-unit id="flatFileImport.serverName">
<source xml:lang="en">Server name</source>
<target state="translated">伺服器名稱</target>
</trans-unit>
<trans-unit id="flatFileImport.databaseName">
<source xml:lang="en">Database name</source>
<target state="translated">資料庫名稱</target>
</trans-unit>
<trans-unit id="flatFileImport.tableName">
<source xml:lang="en">Table name</source>
</trans-unit>
<trans-unit id="flatFileImport.tableSchema">
<source xml:lang="en">Table schema</source>
</trans-unit>
<trans-unit id="flatFileImport.fileImport">
<source xml:lang="en">File to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.success.norows">
<source xml:lang="en">✔ You have successfully inserted the data into a table.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/prosePreviewPage" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="flatFileImport.refresh">
<source xml:lang="en">Refresh</source>
<target state="translated">重新整理</target>
</trans-unit>
<trans-unit id="flatFileImport.prosePreviewMessage">
<source xml:lang="en">This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/modifyColumnsPage" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="flatFileImport.importData">
<source xml:lang="en">Import Data</source>
</trans-unit>
<trans-unit id="flatFileImport.next">
<source xml:lang="en">Next</source>
<target state="translated">下一個</target>
</trans-unit>
<trans-unit id="flatFileImport.columnName">
<source xml:lang="en">Column Name</source>
<target state="translated">資料行名稱</target>
</trans-unit>
<trans-unit id="flatFileImport.dataType">
<source xml:lang="en">Data Type</source>
<target state="translated">資料型態</target>
</trans-unit>
<trans-unit id="flatFileImport.primaryKey">
<source xml:lang="en">Primary Key</source>
<target state="translated">主索引鍵</target>
</trans-unit>
<trans-unit id="flatFileImport.allowNulls">
<source xml:lang="en">Allow Nulls</source>
<target state="translated">允許 Null</target>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/pages/fileConfigPage" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="flatFileImport.serverDropdownTitle">
<source xml:lang="en">Server the database is in</source>
</trans-unit>
<trans-unit id="flatFileImport.databaseDropdownTitle">
<source xml:lang="en">Database the table is created in</source>
</trans-unit>
<trans-unit id="flatFileImport.browseFiles">
<source xml:lang="en">Browse</source>
<target state="translated">瀏覽</target>
</trans-unit>
<trans-unit id="flatFileImport.openFile">
<source xml:lang="en">Open</source>
<target state="translated">開啟</target>
</trans-unit>
<trans-unit id="flatFileImport.fileTextboxTitle">
<source xml:lang="en">Location of the file to be imported</source>
</trans-unit>
<trans-unit id="flatFileImport.tableTextboxTitle">
<source xml:lang="en">New table name</source>
</trans-unit>
<trans-unit id="flatFileImport.schemaTextboxTitle">
<source xml:lang="en">Table schema</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/telemetry" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="import.serviceCrashButton">
<source xml:lang="en">Give Feedback</source>
</trans-unit>
<trans-unit id="serviceCrashMessage">
<source xml:lang="en">service component could not start</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/services/serviceClient" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="serviceStarted">
<source xml:lang="en">Service Started</source>
</trans-unit>
<trans-unit id="serviceStarting">
<source xml:lang="en">Starting service</source>
</trans-unit>
<trans-unit id="flatFileImport.serviceStartFailed">
<source xml:lang="en">Failed to start Import service{0}</source>
</trans-unit>
<trans-unit id="installingServiceDetailed">
<source xml:lang="en">Installing {0} service to {1}</source>
</trans-unit>
<trans-unit id="installingService">
<source xml:lang="en">Installing Service</source>
</trans-unit>
<trans-unit id="serviceInstalled">
<source xml:lang="en">Installed</source>
<target state="translated">已安裝</target>
</trans-unit>
<trans-unit id="downloadingService">
<source xml:lang="en">Downloading {0}</source>
<target state="translated">正在下載 {0}</target>
</trans-unit>
<trans-unit id="downloadingServiceStatus">
<source xml:lang="en">Downloading Service</source>
</trans-unit>
<trans-unit id="downloadingServiceComplete">
<source xml:lang="en">Done!</source>
</trans-unit>
</body></file>
<file original="extensions/import/out/wizard/flatFileWizard" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="import.needConnection">
<source xml:lang="en">Please connect to a server before using this wizard.</source>
</trans-unit>
<trans-unit id="flatFileImport.wizardName">
<source xml:lang="en">Import flat file wizard</source>
</trans-unit>
<trans-unit id="flatFileImport.page1Name">
<source xml:lang="en">Specify Input File</source>
</trans-unit>
<trans-unit id="flatFileImport.page2Name">
<source xml:lang="en">Preview Data</source>
</trans-unit>
<trans-unit id="flatFileImport.page3Name">
<source xml:lang="en">Modify Columns</source>
</trans-unit>
<trans-unit id="flatFileImport.page4Name">
<source xml:lang="en">Summary</source>
<target state="translated">摘要</target>
</trans-unit>
<trans-unit id="flatFileImport.importNewFile">
<source xml:lang="en">Import new file</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="de" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Abbrechen</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">Erstellen</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="es" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">Crear</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="fr" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annuler</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">Créer</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
<target state="translated">Liste de modèles non valide, impossible d'ouvrir la boîte de dialogue</target>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
<target state="translated">Entrez le nom de la session :</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="it" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Annulla</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">Crea</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="ja" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">キャンセル</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">作成</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="ko" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">취소</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">만들기</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="pt-BR" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Cancelar</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">Criar</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
<target state="translated">Criar nova sessão do Profiler</target>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
<target state="translated">Lista de modelos inválidas, não é possível abrir a caixa de diálogo</target>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
<target state="translated">Caixa de diálogo não pode ser aberta, proprietário inválido.</target>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
<target state="translated">Selecione o modelo de sessão:</target>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
<target state="translated">Digite o nome da sessão:</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="ru" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">Отмена</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">Создать</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="zh-Hans" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">创建</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
<target state="translated">创建新的跟踪器会话</target>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
<target state="translated">无效的模板列表, 无法打开对话框</target>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
<target state="translated">无效的对话框所有者,无法打开对话框</target>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
<target state="translated">选择会话模板:</target>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
<target state="translated">输入会话名称:</target>
</trans-unit>
</body></file>
</xliff>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="extensions/profiler/client\out/dialogs/profilerCreateSessionDialog" source-language="en" target-language="zh-Hant" datatype="plaintext"><body>
<trans-unit id="createSessionDialog.cancel">
<source xml:lang="en">Cancel</source>
<target state="translated">取消</target>
</trans-unit>
<trans-unit id="createSessionDialog.create">
<source xml:lang="en">Create</source>
<target state="translated">建立</target>
</trans-unit>
<trans-unit id="createSessionDialog.title">
<source xml:lang="en">Create New Profiler Session</source>
</trans-unit>
<trans-unit id="createSessionDialog.templatesInvalid">
<source xml:lang="en">Invalid templates list, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.dialogOwnerInvalid">
<source xml:lang="en">Invalid dialog owner, cannot open dialog</source>
</trans-unit>
<trans-unit id="createSessionDialog.selectTemplates">
<source xml:lang="en">Select session template:</source>
</trans-unit>
<trans-unit id="createSessionDialog.enterSessionName">
<source xml:lang="en">Enter session name:</source>
</trans-unit>
</body></file>
</xliff>

View File

@@ -4,26 +4,23 @@
*--------------------------------------------------------------------------------------------*/
import { IDisposableDataProvider } from 'sql/base/browser/ui/table/interfaces';
import { CancellationTokenSource } from 'vs/base/common/cancellation';
export interface IObservableCollection<T> {
getLength(): number;
at(index: number): T;
getRange(start: number, end: number): T[];
setCollectionChangedCallback(callback: (startIndex: number, count: number) => void): void;
setLength(number): void;
setLength(length: number): void;
dispose(): void;
}
class LoadCancellationToken {
isCancelled: boolean;
}
class DataWindow<T> {
private _data: T[];
private _length: number = 0;
private _offsetFromDataSource: number = -1;
private lastLoadCancellationToken: LoadCancellationToken;
private cancellationToken = new CancellationTokenSource();
constructor(
private loadFunction: (offset: number, count: number) => Thenable<T[]>,
@@ -36,9 +33,7 @@ class DataWindow<T> {
this.loadFunction = undefined;
this.placeholderItemGenerator = undefined;
this.loadCompleteCallback = undefined;
if (this.lastLoadCancellationToken) {
this.lastLoadCancellationToken.isCancelled = true;
}
this.cancellationToken.cancel();
}
public getStartIndex(): number {
@@ -65,17 +60,16 @@ class DataWindow<T> {
this._length = length;
this._data = undefined;
if (this.lastLoadCancellationToken) {
this.lastLoadCancellationToken.isCancelled = true;
}
this.cancellationToken.cancel();
this.cancellationToken = new CancellationTokenSource();
const currentCancellation = this.cancellationToken;
if (length === 0) {
return;
}
this.lastLoadCancellationToken = new LoadCancellationToken();
this.loadFunction(offset, length).then(data => {
if (!this.lastLoadCancellationToken.isCancelled) {
if (!currentCancellation.token.isCancellationRequested) {
this._data = data;
this.loadCompleteCallback(this._offsetFromDataSource, this._offsetFromDataSource + this._length);
}
@@ -121,8 +115,8 @@ export class VirtualizedCollection<T extends Slick.SlickData> implements IObserv
return this.length;
}
setLength(number: any): void {
this.length = number;
setLength(length: number): void {
this.length = length;
}
public at(index: number): T {

View File

@@ -78,7 +78,7 @@ export class TableDataView<T extends Slick.SlickData> implements IDisposableData
this._onRowCountChange.fire();
}
find(exp: string): Thenable<IFindPosition> {
find(exp: string, maxMatches: number = 0): Thenable<IFindPosition> {
if (!this._findFn) {
return TPromise.wrapError(new Error('no find function provided'));
}
@@ -87,7 +87,8 @@ export class TableDataView<T extends Slick.SlickData> implements IDisposableData
this._onFindCountChange.fire(this._findArray.length);
if (exp) {
this._findObs = Observable.create((observer: Observer<IFindPosition>) => {
this._data.forEach((item, i) => {
for (let i = 0; i < this._data.length; i++) {
let item = this._data[i];
let result = this._findFn(item, exp);
if (result) {
result.forEach(pos => {
@@ -96,8 +97,11 @@ export class TableDataView<T extends Slick.SlickData> implements IDisposableData
observer.next(index);
this._onFindCountChange.fire(this._findArray.length);
});
if (maxMatches > 0 && this._findArray.length > maxMatches) {
break;
}
}
});
}
});
return this._findObs.take(1).toPromise().then(() => {
return this._findArray[this._findIndex];

View File

@@ -5,9 +5,8 @@
import * as path from 'path';
import { Registry } from 'vs/platform/registry/common/platform';
import { EditorInput, IEditorInput } from 'vs/workbench/common/editor';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IInstantiationService, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
import URI from 'vs/base/common/uri';
@@ -17,9 +16,9 @@ import { QueryInput } from 'sql/parts/query/common/queryInput';
import { IQueryEditorOptions } from 'sql/parts/query/common/queryEditorService';
import { QueryPlanInput } from 'sql/parts/queryPlan/queryPlanInput';
import { NotebookInput, NotebookInputModel, NotebookInputValidator } from 'sql/parts/notebook/notebookInput';
import { Extensions, INotebookProviderRegistry } from 'sql/services/notebook/notebookRegistry';
import { DEFAULT_NOTEBOOK_PROVIDER } from 'sql/services/notebook/notebookService';
import { DEFAULT_NOTEBOOK_PROVIDER, INotebookService } from 'sql/services/notebook/notebookService';
import { getProviderForFileName } from 'sql/parts/notebook/notebookUtils';
import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
const fs = require('fs');
@@ -30,6 +29,7 @@ export const untitledFilePrefix = 'SQLQuery';
// mode identifier for SQL mode
export const sqlModeId = 'sql';
export const notebookModeId = 'notebook';
/**
* Checks if the specified input is supported by one our custom input types, and if so convert it
@@ -59,20 +59,20 @@ export function convertEditorInput(input: EditorInput, options: IQueryEditorOpti
//Notebook
let notebookValidator = instantiationService.createInstance(NotebookInputValidator);
uri = getNotebookEditorUri(input);
if(uri && notebookValidator.isNotebookEnabled()){
//TODO: We need to pass in notebook data either through notebook input or notebook service
let fileName: string = 'untitled';
let providerId: string = DEFAULT_NOTEBOOK_PROVIDER;
if (input) {
fileName = input.getName();
providerId = getProviderForFileName(fileName);
}
let notebookInputModel = new NotebookInputModel(uri, undefined, false, undefined);
notebookInputModel.providerId = providerId;
//TO DO: Second parameter has to be the content.
let notebookInput: NotebookInput = instantiationService.createInstance(NotebookInput, fileName, notebookInputModel);
return notebookInput;
uri = getNotebookEditorUri(input, instantiationService);
if (uri && notebookValidator.isNotebookEnabled()) {
return withService<INotebookService, NotebookInput>(instantiationService, INotebookService, notebookService => {
let fileName: string = 'untitled';
let providerId: string = DEFAULT_NOTEBOOK_PROVIDER;
if (input) {
fileName = input.getName();
providerId = getProviderForFileName(fileName, notebookService);
}
let notebookInputModel = new NotebookInputModel(uri, undefined, false, undefined);
notebookInputModel.providerId = providerId;
let notebookInput: NotebookInput = instantiationService.createInstance(NotebookInput, fileName, notebookInputModel);
return notebookInput;
});
}
}
return input;
@@ -97,6 +97,13 @@ export function getSupportedInputResource(input: IEditorInput): URI {
}
}
if (input instanceof ResourceEditorInput) {
let resourceCast: ResourceEditorInput = <ResourceEditorInput>input;
if (resourceCast) {
return resourceCast.getResource();
}
}
return undefined;
}
@@ -154,34 +161,50 @@ function getQueryPlanEditorUri(input: EditorInput): URI {
return undefined;
}
/**
* If input is a supported notebook editor file (.ipynb), return it's URI. Otherwise return undefined.
* @param input The EditorInput to get the URI of.
*/
function getNotebookEditorUri(input: EditorInput): URI {
function getNotebookEditorUri(input: EditorInput, instantiationService: IInstantiationService): URI {
if (!input || !input.getName()) {
return undefined;
}
// If this editor is not already of type notebook input
if (!(input instanceof NotebookInput)) {
let uri: URI = getSupportedInputResource(input);
if (uri) {
if (hasFileExtension(getNotebookFileExtensions(), input, false)) {
if (hasFileExtension(getNotebookFileExtensions(instantiationService), input, false) || hasNotebookFileMode(input)) {
return uri;
}
}
}
return undefined;
}
function getNotebookFileExtensions() {
let notebookRegistry = Registry.as<INotebookProviderRegistry>(Extensions.NotebookProviderContribution);
return notebookRegistry.getSupportedFileExtensions();
function getNotebookFileExtensions(instantiationService: IInstantiationService): string[] {
return withService<INotebookService, string[]>(instantiationService, INotebookService, notebookService => {
return notebookService.getSupportedFileExtensions();
});
}
/**
* Checks whether the given EditorInput is set to either undefined or notebook mode
* @param input The EditorInput to check the mode of
*/
function hasNotebookFileMode(input: EditorInput): boolean {
if (input instanceof UntitledEditorInput) {
let untitledCast: UntitledEditorInput = <UntitledEditorInput>input;
return (untitledCast && untitledCast.getModeId() === notebookModeId);
}
return false;
}
function withService<TService, TResult>(instantiationService: IInstantiationService, serviceId: ServiceIdentifier<TService>, action: (service: TService) => TResult, ): TResult {
return instantiationService.invokeFunction(accessor => {
let service = accessor.get(serviceId);
return action(service);
});
}
/**
@@ -219,3 +242,17 @@ function hasFileExtension(extensions: string[], input: EditorInput, checkUntitle
return false;
}
// Returns file mode - notebookModeId or sqlModeId
export function getFileMode(instantiationService: IInstantiationService, resource: URI): string {
if (!resource) {
return sqlModeId;
}
return withService<INotebookService, string>(instantiationService, INotebookService, notebookService => {
for (const editor of notebookService.listNotebookEditors()) {
if (editor.notebookParams.notebookUri === resource) {
return notebookModeId;
}
}
return sqlModeId;
});
}

View File

@@ -168,8 +168,7 @@ export const DashboardModule = (params, selector: string, instantiationService:
if (e instanceof NavigationEnd) {
this.navigations++;
TelemetryUtils.addTelemetry(this.telemetryService, TelemetryKeys.DashboardNavigated, {
numberOfNavigations: this.navigations,
routeUrl: e.url
numberOfNavigations: this.navigations
});
}
});

View File

@@ -304,14 +304,6 @@ table.jobprevruns > tbody {
background-image: url('refresh_inverse.svg');
}
.agent-actionbar-container .monaco-action-bar > ul.actions-container {
padding-top: 10px;
}
jobsview-component .agent-actionbar-container {
height: 40px;
}
.agent-actionbar-container .monaco-action-bar > ul.actions-container > li.action-item {
padding-left: 20px;
}
@@ -414,4 +406,11 @@ jobsview-component .jobview-grid .slick-cell.error-row {
#proxiesDiv .proxyview-proxynameindicatordisabled {
width: 5px;
background: red;
}
#jobsDiv jobsview-component .monaco-toolbar.carbon-taskbar,
#operatorsDiv joboperatorsview-component .monaco-toolbar.carbon-taskbar,
#alertsDiv jobalertsview-component .monaco-toolbar.carbon-taskbar,
#proxiesDiv jobproxiesview-component .monaco-toolbar.carbon-taskbar {
margin: 10px 0px 10px 0px;
}

View File

@@ -156,8 +156,8 @@
</td>
</tr>
</table>
<div #jobsteps style="flex: 1 1 auto; position: relative">
<jobstepsview-component *ngIf="showSteps === true" style="position: absolute; height: 100%; width: 100%"></jobstepsview-component>
<div #jobsteps *ngIf="showSteps === true" style="flex: 1 1 auto; position: relative">
<jobstepsview-component *ngIf="showSteps === true"></jobstepsview-component>
</div>
<h3 *ngIf="showSteps === false">No Steps Available</h3>
</div>

View File

@@ -65,7 +65,6 @@ export class JobHistoryComponent extends JobManagementView implements OnInit {
private _agentJobInfo: sqlops.AgentJobInfo;
private _noJobsAvailable: boolean = false;
private static readonly INITIAL_TREE_HEIGHT: number = 780;
private static readonly HEADING_HEIGHT: number = 24;
constructor(

View File

@@ -7,7 +7,6 @@
.all-jobs {
display: inline;
font-size: 15px;
padding-bottom: 15px;
}
.overview-container .overview-tab .resultsViewCollapsible {
@@ -266,14 +265,22 @@ jobhistory-component > .jobhistory-heading-container > .icon.in-progress {
padding-left: 20px;
}
jobhistory-component > .agent-actionbar-container .monaco-action-bar > ul.actions-container {
jobhistory-component > .agent-actionbar-container {
border-top: 3px solid #f4f4f4;
}
.vs-dark jobhistory-component > .agent-actionbar-container .monaco-action-bar > ul.actions-container {
.vs-dark jobhistory-component > .agent-actionbar-container {
border-top: 3px solid #444444;
}
.hc-black jobhistory-component > .agent-actionbar-container .monaco-action-bar > ul.actions-container {
.hc-black jobhistory-component > .agent-actionbar-container {
border-top: 3px solid #2b56f2;
}
jobhistory-component .step-table.prev-run-list .monaco-tree-wrapper .monaco-tree-row {
width: 96%;
}
jobhistory-component .agent-actionbar-container > .monaco-toolbar.carbon-taskbar {
margin: 10px 0px 5px 0px;
}

View File

@@ -80,4 +80,11 @@
jobstepsview-component {
display: flex;
flex-direction: column;
position: absolute;
height: 100%;
width: 100%;
}
jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row {
width: 99.2%;
}

View File

@@ -591,7 +591,7 @@ export class JobsViewComponent extends JobManagementView implements OnInit, OnDe
private async curateJobHistory(jobs: sqlops.AgentJobInfo[], ownerUri: string) {
const self = this;
jobs.forEach(async (job) => {
await Promise.all(jobs.map(async (job) => {
await this._jobManagementService.getJobHistory(ownerUri, job.jobId, job.name).then(async(result) => {
if (result) {
self.jobSteps[job.jobId] = result.steps ? result.steps : [];
@@ -622,32 +622,23 @@ export class JobsViewComponent extends JobManagementView implements OnInit, OnDe
}
}
});
});
}));
}
private createJobChart(jobId: string, jobHistories: sqlops.AgentJobHistoryInfo[]): void {
let chartHeights = this.getChartHeights(jobHistories);
let runCharts = [];
for (let i = 0; i < jobHistories.length; i++) {
for (let i = 0; i < chartHeights.length; i++) {
let runGraph = $(`table#${jobId}.jobprevruns > tbody > tr > td > div.bar${i}`);
if (jobHistories && jobHistories.length > 0) {
runGraph.css('height', chartHeights[i]);
let bgColor = jobHistories[i].runStatus === 0 ? 'red' : 'green';
runGraph.css('background', bgColor);
runGraph.hover((e) => {
let currentTarget = e.currentTarget;
currentTarget.title = jobHistories[i].runDuration;
});
if (runGraph.get(0)) {
runCharts.push(runGraph.get(0).outerHTML);
}
} else {
runGraph.css('height', '5px');
runGraph.css('background', 'red');
runGraph.hover((e) => {
let currentTarget = e.currentTarget;
currentTarget.title = 'Job not run.';
});
runGraph.css('height', chartHeights[i]);
let bgColor = jobHistories[i].runStatus === 0 ? 'red' : 'green';
runGraph.css('background', bgColor);
runGraph.hover((e) => {
let currentTarget = e.currentTarget;
currentTarget.title = jobHistories[i].runDuration;
});
if (runGraph.get(0)) {
runCharts.push(runGraph.get(0).outerHTML);
}
}
if (runCharts.length > 0) {
@@ -658,7 +649,7 @@ export class JobsViewComponent extends JobManagementView implements OnInit, OnDe
// chart height normalization logic
private getChartHeights(jobHistories: sqlops.AgentJobHistoryInfo[]): string[] {
if (!jobHistories || jobHistories.length === 0) {
return ['5px', '5px', '5px', '5px', '5px'];
return [];
}
let maxDuration: number = 0;
jobHistories.forEach(history => {

View File

@@ -2,31 +2,32 @@
<span *ngIf="hasStatus" class="card-status">
<div class="status-content" [style.backgroundColor]="statusColor"></div>
</span>
<ng-container *ngIf="isVerticalButton">
<div class="card-vertical-button">
<div *ngIf="iconPath" class="iconContainer">
<div [class]="iconClass" [style.maxWidth]="iconWidth" [style.maxHeight]="iconHeight"></div>
</div>
<h4 class="card-label">{{label}}</h4>
<span *ngIf="showRadioButton" class="selection-indicator-container">
<div *ngIf="showAsSelected" class="selection-indicator"></div>
</span>
<ng-container *ngIf="isVerticalButton">
<div class="card-vertical-button">
<div *ngIf="iconPath" class="iconContainer">
<div [class]="iconClass" [style.maxWidth]="iconWidth" [style.maxHeight]="iconHeight"></div>
</div>
</ng-container>
<ng-container *ngIf="isDetailsCard">
<div class="card-content">
<h4 class="card-label">{{label}}</h4>
<p class="card-value">{{value}}</p>
<span *ngIf="actions">
<table class="model-table">
<tr *ngFor="let action of actions">
<td class="table-row">{{action.label}}</td>
<td *ngIf="action.actionTitle" class="table-row">
<a class="pointer prominent" (click)="onDidActionClick(action)">{{action.actionTitle}}</a>
</td>
</tr>
</table>
</span>
</div>
</ng-container>
<h4 class="card-label">{{label}}</h4>
</div>
</ng-container>
<ng-container *ngIf="isDetailsCard">
<div class="card-content">
<h4 class="card-label">{{label}}</h4>
<p class="card-value">{{value}}</p>
<span *ngIf="actions">
<table class="model-table">
<tr *ngFor="let action of actions">
<td class="table-row">{{action.label}}</td>
<td *ngIf="action.actionTitle" class="table-row">
<a class="pointer prominent" (click)="onDidActionClick(action)">{{action.actionTitle}}</a>
</td>
</tr>
</table>
</span>
</div>
</ng-container>
</div>

View File

@@ -29,7 +29,7 @@ export default class CardComponent extends ComponentWithIconBase implements ICom
private backgroundColor: string;
constructor( @Inject(forwardRef(() => ChangeDetectorRef)) changeRef: ChangeDetectorRef,
constructor(@Inject(forwardRef(() => ChangeDetectorRef)) changeRef: ChangeDetectorRef,
@Inject(forwardRef(() => ElementRef)) el: ElementRef,
@Inject(IWorkbenchThemeService) private themeService: IWorkbenchThemeService
) {
@@ -130,6 +130,14 @@ export default class CardComponent extends ComponentWithIconBase implements ICom
return this.cardType === 'VerticalButton';
}
public get showRadioButton():boolean{
return this.selectable && (this.selected || this._hasFocus)
}
public get showAsSelected(): boolean {
return this.selectable && this.selected;
}
public get actions(): ActionDescriptor[] {
return this.getPropertyOrDefault<CardProperties, ActionDescriptor[]>((props) => props.actions, []);
@@ -156,6 +164,7 @@ export default class CardComponent extends ComponentWithIconBase implements ICom
private updateTheme(theme: IColorTheme) {
this.backgroundColor = theme.getColor(colors.editorBackground, true).toString();
this._changeRef.detectChanges();
}
private onDidActionClick(action: ActionDescriptor): void {

View File

@@ -1,4 +1,3 @@
.model-card {
position: relative;
display: inline-block;
@@ -7,23 +6,18 @@
margin: 15px;
border-width: 1px;
border-style: solid;
text-align: left;
vertical-align: top;
box-shadow: rgba(120, 120, 120, 0.75) 0px 0px 6px;
}
.model-card.selected {
border-color: darkblue
}
.vs-dark .monaco-workbench .model-card.selected,
.hc-black .monaco-workbench .model-card.selected {
border-color: darkblue
border-color: rgb(0, 120, 215);
box-shadow: rgba(0, 120, 215, 0.75) 0px 0px 6px;
}
.model-card.unselected {
border-color: rgb(214, 214, 214);
box-shadow: none;
}
@@ -102,21 +96,43 @@
text-align: center;
}
.model-card .selection-indicator-container {
position: absolute;
top: 5px;
right: 5px;
overflow: hidden;
width: 16px;
height: 16px;
border-radius: 50%;
background-color: white;
border-width: 1px;
border-color: rgb(0, 120, 215);
border-style: solid;
}
.model-card .selection-indicator {
margin: 4px;
width: 8px;
height: 8px;
border-radius: 50%;
background-color: rgb(0, 120, 215);
}
.model-card .model-table {
border-spacing: 5px;
}
.model-table .table-row {
width: auto;
clear: both;
width: auto;
clear: both;
}
.model-table .table-cell {
vertical-align: top;
padding: 7px;
vertical-align: top;
padding: 7px;
}
.model-table a {
cursor: pointer;
text-decoration: underline
}
}

View File

@@ -0,0 +1,127 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ElementRef } from '@angular/core';
import { nb } from 'sqlops';
import { localize } from 'vs/nls';
import { Action } from 'vs/base/common/actions';
import { ActionBar, ActionsOrientation } from 'vs/base/browser/ui/actionbar/actionbar';
import { getErrorMessage } from 'vs/base/common/errors';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
import { ICellModel } from 'sql/parts/notebook/models/modelInterfaces';
import { CellContext, CellActionBase } from 'sql/parts/notebook/cellViews/codeActions';
import { NotebookModel } from 'sql/parts/notebook/models/notebookModel';
import { ToggleMoreWidgetAction } from 'sql/parts/dashboard/common/actions';
import { CellTypes, CellType } from 'sql/parts/notebook/models/contracts';
import { CellModel } from 'sql/parts/notebook/models/cell';
export class CellToggleMoreActions {
private _actions: Action[] = [];
private _moreActions: ActionBar;
constructor(
@IInstantiationService private instantiationService: IInstantiationService) {
this._actions.push(
instantiationService.createInstance(DeleteCellAction, 'delete', localize('delete', 'Delete')),
instantiationService.createInstance(AddCellFromContextAction,'codeBefore', localize('codeBefore', 'Insert Code before'), CellTypes.Code, false),
instantiationService.createInstance(AddCellFromContextAction, 'codeAfter', localize('codeAfter', 'Insert Code after'), CellTypes.Code, true),
instantiationService.createInstance(AddCellFromContextAction, 'markdownBefore', localize('markdownBefore', 'Insert Markdown before'), CellTypes.Markdown, false),
instantiationService.createInstance(AddCellFromContextAction, 'markdownAfter', localize('markdownAfter', 'Insert Markdown after'), CellTypes.Markdown, true),
instantiationService.createInstance(ClearCellOutputAction, 'clear', localize('clear', 'Clear output'))
);
}
public toggle(showIcon: boolean, elementRef: ElementRef, model: NotebookModel, cellModel: ICellModel) {
let context = new CellContext(model,cellModel);
let moreActionsElement = <HTMLElement>elementRef.nativeElement;
if (showIcon) {
if (moreActionsElement.childNodes.length > 0) {
moreActionsElement.removeChild(moreActionsElement.childNodes[0]);
}
this._moreActions = new ActionBar(moreActionsElement, { orientation: ActionsOrientation.VERTICAL });
this._moreActions.context = { target: moreActionsElement };
this._moreActions.push(this.instantiationService.createInstance(ToggleMoreWidgetAction, this._actions, context), { icon: showIcon, label: false });
}
else if (moreActionsElement.childNodes.length > 0) {
moreActionsElement.removeChild(moreActionsElement.childNodes[0]);
}
}
}
export class AddCellFromContextAction extends CellActionBase {
constructor(
id: string, label: string, private cellType: CellType, private isAfter: boolean,
@INotificationService notificationService: INotificationService
) {
super(id, label, undefined, notificationService);
}
runCellAction(context: CellContext): Promise<void> {
try {
let model = context.model;
let index = model.cells.findIndex((cell) => cell.id === context.cell.id);
if (index !== undefined && this.isAfter) {
index += 1;
}
model.addCell(this.cellType, index);
} catch (error) {
let message = getErrorMessage(error);
this.notificationService.notify({
severity: Severity.Error,
message: message
});
}
return Promise.resolve();
}
}
export class DeleteCellAction extends CellActionBase {
constructor(id: string, label: string,
@INotificationService notificationService: INotificationService
) {
super(id, label, undefined, notificationService);
}
runCellAction(context: CellContext): Promise<void> {
try {
context.model.deleteCell(context.cell);
} catch (error) {
let message = getErrorMessage(error);
this.notificationService.notify({
severity: Severity.Error,
message: message
});
}
return Promise.resolve();
}
}
export class ClearCellOutputAction extends CellActionBase {
constructor(id: string, label: string,
@INotificationService notificationService: INotificationService
) {
super(id, label, undefined, notificationService);
}
runCellAction(context: CellContext): Promise<void> {
try {
(context.model.activeCell as CellModel).clearOutputs();
} catch (error) {
let message = getErrorMessage(error);
this.notificationService.notify({
severity: Severity.Error,
message: message
});
}
return Promise.resolve();
}
}

View File

@@ -9,6 +9,6 @@
</div>
<div #editor class="editor" style="flex: 1 1 auto; overflow: hidden;">
</div>
<div #moreactions class="toolbar" style="flex: 0 0 auto; display: flex; flex-flow:column; width: 20px; min-height: 20px; max-height: 20px; padding-top: 0px; orientation: portrait">
<div #moreactions class="moreActions" style="flex: 0 0 auto; display: flex; flex-flow:column;width: 20px; min-height: 20px; max-height: 20px; padding-top: 0px; orientation: portrait">
</div>
</div>

View File

@@ -4,11 +4,16 @@
*--------------------------------------------------------------------------------------------*/
import 'vs/css!./code';
import { OnInit, Component, Input, Inject, forwardRef, ElementRef, ChangeDetectorRef, OnDestroy, ViewChild, Output, EventEmitter, OnChanges, SimpleChange } from '@angular/core';
import { OnInit, Component, Input, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, Output, EventEmitter, OnChanges, SimpleChange } from '@angular/core';
import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service';
import { AngularDisposable } from 'sql/base/common/lifecycle';
import { QueryTextEditor } from 'sql/parts/modelComponents/queryTextEditor';
import { CellToggleMoreActions } from 'sql/parts/notebook/cellToggleMoreActions';
import { ICellModel } from 'sql/parts/notebook/models/modelInterfaces';
import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar';
import { RunCellAction, CellContext } from 'sql/parts/notebook/cellViews/codeActions';
import { NotebookModel } from 'sql/parts/notebook/models/notebookModel';
import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService';
import * as themeColors from 'vs/workbench/common/theme';
@@ -19,20 +24,11 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { ITextModel } from 'vs/editor/common/model';
import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
import URI from 'vs/base/common/uri';
import { localize } from 'vs/nls';
import { Action } from 'vs/base/common/actions';
import { ActionBar, ActionsOrientation } from 'vs/base/browser/ui/actionbar/actionbar';
import { Schemas } from 'vs/base/common/network';
import * as DOM from 'vs/base/browser/dom';
import { IModeService } from 'vs/editor/common/services/modeService';
import { IModelService } from 'vs/editor/common/services/modelService';
import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { ICellModel } from 'sql/parts/notebook/models/modelInterfaces';
import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar';
import { RunCellAction, DeleteCellAction, AddCellAction, CellContext } from 'sql/parts/notebook/cellViews/codeActions';
import { NotebookModel } from 'sql/parts/notebook/models/notebookModel';
import { ToggleMoreWidgetAction } from 'sql/parts/dashboard/common/actions';
import { CellTypes } from 'sql/parts/notebook/models/contracts';
import { INotificationService } from 'vs/platform/notification/common/notification';
export const CODE_SELECTOR: string = 'code-component';
@@ -59,15 +55,14 @@ export class CodeComponent extends AngularDisposable implements OnInit, OnChange
}
protected _actionBar: Taskbar;
protected _moreActions: ActionBar;
private readonly _minimumHeight = 30;
private _editor: QueryTextEditor;
private _editorInput: UntitledEditorInput;
private _editorModel: ITextModel;
private _uri: string;
private _model: NotebookModel;
private _actions: Action[] = [];
private _activeCellId: string;
private _cellToggleMoreActions: CellToggleMoreActions;
constructor(
@Inject(forwardRef(() => CommonServiceInterface)) private _bootstrapService: CommonServiceInterface,
@@ -81,13 +76,7 @@ export class CodeComponent extends AngularDisposable implements OnInit, OnChange
@Inject(INotificationService) private notificationService: INotificationService,
) {
super();
this._actions.push(
this._instantiationService.createInstance(AddCellAction, 'codeBefore', localize('codeBefore', 'Insert Code before'), CellTypes.Code, false),
this._instantiationService.createInstance(AddCellAction, 'codeAfter', localize('codeAfter', 'Insert Code after'), CellTypes.Code, true),
this._instantiationService.createInstance(AddCellAction, 'markdownBefore', localize('markdownBefore', 'Insert Markdown before'), CellTypes.Markdown, false),
this._instantiationService.createInstance(AddCellAction, 'markdownAfter', localize('markdownAfter', 'Insert Markdown after'), CellTypes.Markdown, true),
this._instantiationService.createInstance(DeleteCellAction, 'delete', localize('delete', 'Delete'))
);
this._cellToggleMoreActions = this._instantiationService.createInstance(CellToggleMoreActions);
}
ngOnInit() {
@@ -105,10 +94,10 @@ export class CodeComponent extends AngularDisposable implements OnInit, OnChange
if (propName === 'activeCellId') {
let changedProp = changes[propName];
if (this.cellModel.id === changedProp.currentValue) {
this.toggleMoreActions(true);
this._cellToggleMoreActions.toggle(true, this.moreActionsElementRef, this.model, this.cellModel);
}
else {
this.toggleMoreActions(false);
this._cellToggleMoreActions.toggle(false, this.moreActionsElementRef, this.model, this.cellModel);
}
break;
}
@@ -173,21 +162,6 @@ export class CodeComponent extends AngularDisposable implements OnInit, OnChange
]);
}
private toggleMoreActions(showIcon: boolean) {
let context = new CellContext(this.model, this.cellModel);
let moreActionsElement = <HTMLElement>this.moreActionsElementRef.nativeElement;
if (showIcon) {
if (moreActionsElement.childNodes.length > 0) {
moreActionsElement.removeChild(moreActionsElement.childNodes[0]);
}
this._moreActions = new ActionBar(moreActionsElement, { orientation: ActionsOrientation.VERTICAL });
this._moreActions.context = { target: moreActionsElement };
this._moreActions.push(this._instantiationService.createInstance(ToggleMoreWidgetAction, this._actions, context), { icon: showIcon, label: false });
}
else if (moreActionsElement.childNodes.length > 0) {
moreActionsElement.removeChild(moreActionsElement.childNodes[0]);
}
}
private createUri(): URI {
let uri = URI.from({ scheme: Schemas.untitled, path: `notebook-editor-${this.cellModel.id}` });

View File

@@ -45,10 +45,6 @@ code-component .carbon-taskbar .icon {
width: 40px;
}
code-component .action-label.icon.toggle-more {
height: 20px;
width: 20px;
}
code-component .carbon-taskbar.monaco-toolbar .monaco-action-bar.animated .actions-container
{

View File

@@ -40,7 +40,7 @@ export class CellContext {
}
}
abstract class CellActionBase extends Action {
export abstract class CellActionBase extends Action {
constructor(id: string, label: string, icon: string, protected notificationService: INotificationService) {
super(id, label, icon);
@@ -135,53 +135,3 @@ export class RunCellAction extends ToggleableAction {
return clientSession.kernel;
}
}
export class AddCellAction extends CellActionBase {
constructor(
id: string, label: string, private cellType: CellType, private isAfter: boolean,
@INotificationService notificationService: INotificationService
) {
super(id, label, undefined, notificationService);
}
runCellAction(context: CellContext): Promise<void> {
try {
let model = context.model;
let index = model.cells.findIndex((cell) => cell.id === context.cell.id);
if (index !== undefined && this.isAfter) {
index += 1;
}
model.addCell(this.cellType, index);
} catch (error) {
let message = getErrorMessage(error);
this.notificationService.notify({
severity: Severity.Error,
message: message
});
}
return Promise.resolve();
}
}
export class DeleteCellAction extends CellActionBase {
constructor(id: string, label: string,
@INotificationService notificationService: INotificationService
) {
super(id, label, undefined, notificationService);
}
runCellAction(context: CellContext): Promise<void> {
try {
context.model.deleteCell(context.cell);
} catch (error) {
let message = getErrorMessage(error);
this.notificationService.notify({
severity: Severity.Error,
message: message
});
}
return Promise.resolve();
}
}

View File

@@ -5,10 +5,15 @@
*--------------------------------------------------------------------------------------------*/
-->
<div style="overflow: hidden; width: 100%; height: 100%; display: flex; flex-flow: column">
<loading-spinner [loading]="isLoading"></loading-spinner>
<div class="notebook-text" style="flex: 0 0 auto;">
<code-component *ngIf="isEditMode" [cellModel]="cellModel" (onContentChanged)="handleContentChanged()" [model]="model" [activeCellId]="activeCellId" [hideVerticalToolbar]=true>
</code-component>
</div>
<div #preview style="flex: 0 0 auto;" (dblclick)="toggleEditMode()">
<div style="overflow: hidden; width: 100%; height: 100%; display: flex; flex-flow: row">
<div #preview class ="notebook-preview" style="flex: 1 1 auto; user-select: initial;" (dblclick)="toggleEditMode()">
</div>
<div #moreactions class="moreActions" style="flex: 0 0 auto; display: flex; flex-flow:column;width: 20px; min-height: 20px; max-height: 20px; padding-top: 0px; orientation: portrait">
</div>
</div>
</div>

View File

@@ -6,16 +6,21 @@ import 'vs/css!./textCell';
import { OnInit, Component, Input, Inject, forwardRef, ElementRef, ChangeDetectorRef, OnDestroy, ViewChild, OnChanges, SimpleChange } from '@angular/core';
import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service';
import { CellView } from 'sql/parts/notebook/cellViews/interfaces';
import { localize } from 'vs/nls';
import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService';
import * as themeColors from 'vs/workbench/common/theme';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { Emitter } from 'vs/base/common/event';
import URI from 'vs/base/common/uri';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service';
import { CellView } from 'sql/parts/notebook/cellViews/interfaces';
import { ICellModel } from 'sql/parts/notebook/models/modelInterfaces';
import { ISanitizer, defaultSanitizer } from 'sql/parts/notebook/outputs/sanitizer';
import { localize } from 'vs/nls';
import { NotebookModel } from 'sql/parts/notebook/models/notebookModel';
import { CellToggleMoreActions } from 'sql/parts/notebook/cellToggleMoreActions';
export const TEXT_SELECTOR: string = 'text-cell-component';
@@ -25,6 +30,7 @@ export const TEXT_SELECTOR: string = 'text-cell-component';
})
export class TextCellComponent extends CellView implements OnInit, OnChanges {
@ViewChild('preview', { read: ElementRef }) private output: ElementRef;
@ViewChild('moreactions', { read: ElementRef }) private moreActionsElementRef: ElementRef;
@Input() cellModel: ICellModel;
@Input() set model(value: NotebookModel) {
@@ -38,18 +44,25 @@ export class TextCellComponent extends CellView implements OnInit, OnChanges {
private _content: string;
private isEditMode: boolean;
private _sanitizer: ISanitizer;
private _previewCssApplied: boolean = false;
private _model: NotebookModel;
private _activeCellId: string;
private readonly _onDidClickLink = this._register(new Emitter<URI>());
public readonly onDidClickLink = this._onDidClickLink.event;
protected isLoading: boolean;
private _cellToggleMoreActions: CellToggleMoreActions;
constructor(
@Inject(forwardRef(() => CommonServiceInterface)) private _bootstrapService: CommonServiceInterface,
@Inject(forwardRef(() => ChangeDetectorRef)) private _changeRef: ChangeDetectorRef,
@Inject(IInstantiationService) private _instantiationService: IInstantiationService,
@Inject(IWorkbenchThemeService) private themeService: IWorkbenchThemeService,
@Inject(ICommandService) private _commandService: ICommandService
@Inject(ICommandService) private _commandService: ICommandService,
@Inject(IOpenerService) private readonly openerService: IOpenerService,
) {
super();
this.isEditMode = false;
this.isLoading = true;
this._cellToggleMoreActions = this._instantiationService.createInstance(CellToggleMoreActions);
}
//Gets sanitizer from ISanitizer interface
@@ -68,8 +81,14 @@ export class TextCellComponent extends CellView implements OnInit, OnChanges {
return this._activeCellId;
}
private setLoading(isLoading: boolean): void {
this.isLoading = isLoading;
this._changeRef.detectChanges();
}
ngOnInit() {
this.updatePreview();
this.setLoading(false);
this._register(this.themeService.onDidColorThemeChange(this.updateTheme, this));
this.updateTheme(this.themeService.getColorTheme());
this.cellModel.onOutputsChanged(e => {
@@ -124,32 +143,24 @@ export class TextCellComponent extends CellView implements OnInit, OnChanges {
private updateTheme(theme: IColorTheme): void {
let outputElement = <HTMLElement>this.output.nativeElement;
outputElement.style.borderTopColor = theme.getColor(themeColors.SIDE_BAR_BACKGROUND, true).toString();
let moreActionsEl = <HTMLElement>this.moreActionsElementRef.nativeElement;
moreActionsEl.style.borderRightColor = theme.getColor(themeColors.SIDE_BAR_BACKGROUND, true).toString();
}
public handleContentChanged(): void {
if (!this._previewCssApplied) {
this.updatePreviewCssClass();
}
this.updatePreview();
}
public toggleEditMode(editMode?: boolean): void {
this.isEditMode = editMode !== undefined? editMode : !this.isEditMode;
this.updatePreviewCssClass();
if (!this.isEditMode && this.cellModel.id === this._activeCellId) {
this._cellToggleMoreActions.toggle(true, this.moreActionsElementRef, this.model, this.cellModel);
}
else {
this._cellToggleMoreActions.toggle(false, this.moreActionsElementRef, this.model, this.cellModel);
}
this.updatePreview();
this._changeRef.detectChanges();
}
// Updates the css class to preview 'div' based on edit mode
private updatePreviewCssClass() {
let outputElement = <HTMLElement>this.output.nativeElement;
if (this.isEditMode && this.cellModel.source) {
outputElement.className = 'notebook-preview';
this._previewCssApplied = true;
}
else {
outputElement.className = '';
this._previewCssApplied = false;
}
}
}

View File

@@ -11,4 +11,6 @@ text-cell-component .notebook-preview {
border-top-width: 1px;
border-top-style: solid;
user-select: initial;
padding-left: 8px;
padding-right: 8px;
}

View File

@@ -38,15 +38,15 @@ export class CellModel implements ICellModel {
constructor(private factory: IModelFactory, cellData?: nb.ICellContents, private _options?: ICellModelOptions) {
this.id = `${modelId++}`;
CellModel.CreateLanguageMappings();
// Do nothing for now
if (cellData) {
// Read in contents if available
this.fromJSON(cellData);
} else {
this._cellType = CellTypes.Code;
this._source = '';
}
this._isEditMode = this._cellType !== CellTypes.Markdown;
this.setDefaultLanguage();
this.ensureDefaultLanguage();
if (_options && _options.isTrusted) {
this._isTrusted = true;
} else {
@@ -284,7 +284,7 @@ export class CellModel implements ICellModel {
}
this._cellType = cell.cell_type;
this._source = Array.isArray(cell.source) ? cell.source.join('') : cell.source;
this._language = (cell.metadata && cell.metadata.language) ? cell.metadata.language : 'python';
this.setLanguageFromContents(cell);
if (cell.outputs) {
for (let output of cell.outputs) {
// For now, we're assuming it's OK to save these as-is with no modification
@@ -293,6 +293,15 @@ export class CellModel implements ICellModel {
}
}
private setLanguageFromContents(cell: nb.ICellContents): void {
if (cell.cell_type === CellTypes.Markdown) {
this._language = 'markdown';
} else if (cell.metadata && cell.metadata.language) {
this._language = cell.metadata.language;
}
// else skip, we set default language anyhow
}
private addOutput(output: nb.ICellOutput) {
this._normalize(output);
this._outputs.push(output);
@@ -327,8 +336,32 @@ export class CellModel implements ICellModel {
return undefined;
}
private setDefaultLanguage(): void {
this._language = 'python';
/**
* Ensures there is a default language set, if none was already defined.
* Will read information from the overall Notebook (passed as options to the model), or
* if all else fails default back to python.
*
*/
private ensureDefaultLanguage(): void {
// See if language is already set / is known based on cell type
if (this.hasLanguage()) {
return;
}
if (this._cellType === CellTypes.Markdown) {
this._language = 'markdown';
return;
}
// try set it based on overall Notebook language
this.trySetLanguageFromLangInfo();
// fallback to python
if (!this._language) {
this._language = 'python';
}
}
private trySetLanguageFromLangInfo() {
// In languageInfo, set the language to the "name" property
// If the "name" property isn't defined, check the "mimeType" property
// Otherwise, default to python as the language
@@ -338,16 +371,25 @@ export class CellModel implements ICellModel {
// check the LanguageMapping to determine if a mapping is necessary (example 'pyspark' -> 'python')
if (CellModel.LanguageMapping[languageInfo.name]) {
this._language = CellModel.LanguageMapping[languageInfo.name];
} else {
}
else {
this._language = languageInfo.name;
}
} else if (languageInfo.mimetype) {
}
else if (languageInfo.mimetype) {
this._language = languageInfo.mimetype;
}
}
let mimeTypePrefix = 'x-';
if (this._language.includes(mimeTypePrefix)) {
this._language = this._language.replace(mimeTypePrefix, '');
if (this._language) {
let mimeTypePrefix = 'x-';
if (this._language.includes(mimeTypePrefix)) {
this._language = this._language.replace(mimeTypePrefix, '');
}
}
}
private hasLanguage(): boolean {
return !!this._language;
}
}

View File

@@ -288,6 +288,12 @@ export interface INotebookModel {
*/
readonly contexts: IDefaultConnection | undefined;
/**
* Event fired on first initialization of the cells and
* on subsequent change events
*/
readonly contentChanged: Event<NotebookContentChange>;
/**
* The trusted mode of the Notebook
*/
@@ -339,6 +345,29 @@ export interface INotebookModel {
pushEditOperations(edits: ISingleNotebookEditOperation[]): void;
}
export interface NotebookContentChange {
/**
* The type of change that occurred
*/
changeType: NotebookChangeType;
/**
* Optional cells that were changed
*/
cells?: ICellModel | ICellModel[];
/**
* Optional index of the change, indicating the cell at which an insert or
* delete occurred
*/
cellIndex?: number;
/**
* Optional value indicating if the notebook is in a dirty or clean state after this change
*
* @type {boolean}
* @memberof NotebookContentChange
*/
isDirty?: boolean;
}
export interface ICellModelOptions {
notebook: INotebookModel;
isTrusted: boolean;

View File

@@ -12,7 +12,7 @@ import { Event, Emitter } from 'vs/base/common/event';
import { Disposable } from 'vs/base/common/lifecycle';
import { CellModel } from './cell';
import { IClientSession, INotebookModel, IDefaultConnection, INotebookModelOptions, ICellModel, notebookConstants } from './modelInterfaces';
import { IClientSession, INotebookModel, IDefaultConnection, INotebookModelOptions, ICellModel, notebookConstants, NotebookContentChange } from './modelInterfaces';
import { NotebookChangeType, CellTypes, CellType } from 'sql/parts/notebook/models/contracts';
import { nbversion } from '../notebookConstants';
import * as notebookUtils from '../notebookUtils';
@@ -22,6 +22,7 @@ import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
import { NotebookConnection } from 'sql/parts/notebook/models/notebookConnection';
import { INotification, Severity } from 'vs/platform/notification/common/notification';
import { Schemas } from 'vs/base/common/network';
import URI from 'vs/base/common/uri';
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
/*
@@ -38,28 +39,6 @@ export class ErrorInfo {
constructor(public readonly message: string, public readonly severity: MessageLevel) {
}
}
export interface NotebookContentChange {
/**
* What was the change that occurred?
*/
changeType: NotebookChangeType;
/**
* Optional cells that were changed
*/
cells?: ICellModel | ICellModel[];
/**
* Optional index of the change, indicating the cell at which an insert or
* delete occurred
*/
cellIndex?: number;
/**
* Optional value indicating if the notebook is in a dirty or clean state after this change
*
* @type {boolean}
* @memberof NotebookContentChange
*/
isDirty?: boolean;
}
export class NotebookModel extends Disposable implements INotebookModel {
private _contextsChangedEmitter = new Emitter<void>();
@@ -97,6 +76,13 @@ export class NotebookModel extends Disposable implements INotebookModel {
return this.notebookOptions.notebookManager;
}
public get notebookUri() : URI {
return this.notebookOptions.notebookUri;
}
public set notebookUri(value : URI) {
this.notebookOptions.notebookUri = value;
}
public get hasServerManager(): boolean {
// If the service has a server manager, then we can show the start button
return !!this.notebookManager.serverManager;

View File

@@ -149,10 +149,10 @@ export class SparkMagicContexts {
}
}
let profile = connectionInfo as IConnectionProfile;
if (foundSavedKernelInSpecs && specs && connectionInfo && profile.providerName === notebookConstants.hadoopKnoxProviderName) {
if (specs && connectionInfo && profile.providerName === notebookConstants.hadoopKnoxProviderName) {
// set default kernel to default spark kernel if profile exists
// otherwise, set default to kernel info loaded from existing file
defaultKernel = !savedKernelInfo ? specs.kernels.find((spec) => spec.name === notebookConstants.defaultSparkKernel) : savedKernelInfo;
defaultKernel = !foundSavedKernelInSpecs ? specs.kernels.find((spec) => spec.name === notebookConstants.defaultSparkKernel) : foundSavedKernelInSpecs;
} else {
// Handle kernels
if (savedKernelInfo && savedKernelInfo.name.toLowerCase().indexOf('spark') > -1) {

View File

@@ -5,7 +5,7 @@
*--------------------------------------------------------------------------------------------*/
-->
<div style="overflow: hidden; width: 100%; height: 100%; display: flex; flex-flow: column">
<div #toolbar class="editor-toolbar actionbar-container" style="flex: 0 0 auto; display: flex; flex-flow: row; width: 100%; align-items: center; height: 36px">
<div #toolbar class="editor-toolbar actionbar-container" style="flex: 0 0 auto; display: flex; flex-flow: row; width: 100%; align-items: center;">
</div>
<div class="scrollable" style="flex: 1 1 auto; position: relative" (click)="unselectActiveCell()">
<loading-spinner [loading]="isLoading"></loading-spinner>

View File

@@ -5,42 +5,50 @@
import './notebookStyles';
import { nb } from 'sqlops';
import { OnInit, Component, Inject, forwardRef, ElementRef, ChangeDetectorRef, ViewChild, OnDestroy } from '@angular/core';
import { IColorTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService';
import * as themeColors from 'vs/workbench/common/theme';
import { INotificationService, INotification } from 'vs/platform/notification/common/notification';
import { INotificationService, INotification, Severity } from 'vs/platform/notification/common/notification';
import { localize } from 'vs/nls';
import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service';
import { AngularDisposable } from 'sql/base/common/lifecycle';
import { CellTypes, CellType } from 'sql/parts/notebook/models/contracts';
import { ICellModel, IModelFactory, notebookConstants } from 'sql/parts/notebook/models/modelInterfaces';
import { IConnectionManagementService, IConnectionDialogService } from 'sql/parts/connection/common/connectionManagement';
import { INotebookService, INotebookParams, INotebookManager, INotebookEditor } from 'sql/services/notebook/notebookService';
import { IBootstrapParams } from 'sql/services/bootstrap/bootstrapService';
import { NotebookModel, NotebookContentChange } from 'sql/parts/notebook/models/notebookModel';
import { ModelFactory } from 'sql/parts/notebook/models/modelFactory';
import * as notebookUtils from './notebookUtils';
import { Deferred } from 'sql/base/common/promise';
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { KernelsDropdown, AttachToDropdown, AddCellAction, TrustedAction, SaveNotebookAction } from 'sql/parts/notebook/notebookActions';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { attachSelectBoxStyler } from 'vs/platform/theme/common/styler';
import { MenuId, IMenuService, MenuItemAction } from 'vs/platform/actions/common/actions';
import { IAction, Action, IActionItem } from 'vs/base/common/actions';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { fillInActions, LabeledMenuItemActionItem } from 'vs/platform/actions/browser/menuItemActionItem';
import { Schemas } from 'vs/base/common/network';
import URI from 'vs/base/common/uri';
import { IHistoryService } from 'vs/workbench/services/history/common/history';
import * as paths from 'vs/base/common/paths';
import { IWindowService } from 'vs/platform/windows/common/windows';
import { TPromise } from 'vs/base/common/winjs.base';
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import { VIEWLET_ID, IExtensionsViewlet } from 'vs/workbench/parts/extensions/common/extensions';
import { CommonServiceInterface } from 'sql/services/common/commonServiceInterface.service';
import { AngularDisposable } from 'sql/base/common/lifecycle';
import { CellTypes, CellType } from 'sql/parts/notebook/models/contracts';
import { ICellModel, IModelFactory, notebookConstants, INotebookModel, NotebookContentChange } from 'sql/parts/notebook/models/modelInterfaces';
import { IConnectionManagementService, IConnectionDialogService } from 'sql/parts/connection/common/connectionManagement';
import { INotebookService, INotebookParams, INotebookManager, INotebookEditor, DEFAULT_NOTEBOOK_FILETYPE, DEFAULT_NOTEBOOK_PROVIDER } from 'sql/services/notebook/notebookService';
import { IBootstrapParams } from 'sql/services/bootstrap/bootstrapService';
import { NotebookModel } from 'sql/parts/notebook/models/notebookModel';
import { ModelFactory } from 'sql/parts/notebook/models/modelFactory';
import * as notebookUtils from 'sql/parts/notebook/notebookUtils';
import { Deferred } from 'sql/base/common/promise';
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar';
import { KernelsDropdown, AttachToDropdown, AddCellAction, TrustedAction, SaveNotebookAction } from 'sql/parts/notebook/notebookActions';
import { IObjectExplorerService } from 'sql/parts/objectExplorer/common/objectExplorerService';
import * as TaskUtilities from 'sql/workbench/common/taskUtilities';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
import { IResourceInput } from 'vs/platform/editor/common/editor';
import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
import { IEditorGroupsService } from 'vs/workbench/services/group/common/editorGroupsService';
export const NOTEBOOK_SELECTOR: string = 'notebook-component';
@@ -81,7 +89,12 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
@Inject(IConnectionDialogService) private connectionDialogService: IConnectionDialogService,
@Inject(IContextKeyService) private contextKeyService: IContextKeyService,
@Inject(IMenuService) private menuService: IMenuService,
@Inject(IKeybindingService) private keybindingService: IKeybindingService
@Inject(IKeybindingService) private keybindingService: IKeybindingService,
@Inject(IHistoryService) private historyService: IHistoryService,
@Inject(IWindowService) private windowService: IWindowService,
@Inject(IViewletService) private viewletService: IViewletService,
@Inject(IUntitledEditorService) private untitledEditorService: IUntitledEditorService,
@Inject(IEditorGroupsService) private editorGroupService: IEditorGroupsService
) {
super();
this.updateProfile();
@@ -132,7 +145,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
return this._modelRegisteredDeferred.promise;
}
protected get cells(): ReadonlyArray<ICellModel> {
public get cells(): ICellModel[] {
return this._model ? this._model.cells : [];
}
@@ -222,6 +235,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
}
private async loadModel(): Promise<void> {
await this.awaitNonDefaultProvider();
this.notebookManager = await this.notebookService.getOrCreateNotebookManager(this._notebookParams.providerId, this._notebookParams.notebookUri);
let model = new NotebookModel({
factory: this.modelFactory,
@@ -241,6 +255,34 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
this._changeRef.detectChanges();
}
private async awaitNonDefaultProvider(): Promise<void> {
// Wait on registration for now. Long-term would be good to cache and refresh
await this.notebookService.registrationComplete;
// Refresh the provider if we had been using default
if (DEFAULT_NOTEBOOK_PROVIDER === this._notebookParams.providerId) {
this._notebookParams.providerId = notebookUtils.getProviderForFileName(this._notebookParams.notebookUri.fsPath, this.notebookService);
}
if (DEFAULT_NOTEBOOK_PROVIDER === this._notebookParams.providerId) {
// If it's still the default, warn them they should install an extension
this.notificationService.prompt(Severity.Warning,
localize('noKernelInstalled', 'Please install the SQL Server 2019 extension to run cells'),
[{
label: localize('installSql2019Extension', 'Install Extension'),
run: () => this.openExtensionGallery()
}]);
}
}
private async openExtensionGallery(): Promise<void> {
try {
let viewlet = await this.viewletService.openViewlet(VIEWLET_ID, true) as IExtensionsViewlet;
viewlet.search('sql-vnext');
viewlet.focus();
} catch (error) {
this.notificationService.error(error.message);
}
}
// Updates toolbar components
private updateToolbarComponents(isTrusted: boolean)
{
@@ -332,7 +374,78 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
}
}
// Gets file path from recent workspace in local
private getLastActiveFilePath(untitledResource: URI): string {
let fileName = untitledResource.path + '.' + DEFAULT_NOTEBOOK_FILETYPE.toLocaleLowerCase();
let lastActiveFile = this.historyService.getLastActiveFile();
if (lastActiveFile) {
return URI.file(paths.join(paths.dirname(lastActiveFile.fsPath), fileName)).fsPath;
}
let lastActiveFolder = this.historyService.getLastActiveWorkspaceRoot('file');
if (lastActiveFolder) {
return URI.file(paths.join(lastActiveFolder.fsPath, fileName)).fsPath;
}
return fileName;
}
promptForPath(defaultPath: string): TPromise<string> {
return this.windowService.showSaveDialog({
defaultPath: defaultPath,
filters: [{ name: localize('notebookFile', 'Notebook'), extensions: ['ipynb']}]
});
}
// Entry point to save notebook
public async save(): Promise<boolean> {
let self = this;
let notebookUri = this.notebookParams.notebookUri;
if (notebookUri.scheme === Schemas.untitled) {
let dialogPath = this.getLastActiveFilePath(notebookUri);
return this.promptForPath(dialogPath).then(path => {
if (path) {
let target = URI.file(path);
let resource = self._model.notebookUri;
self._model.notebookUri = target;
this.saveNotebook().then(result => {
if(result)
{
return this.replaceUntitledNotebookEditor(resource, target);
}
return result;
});
}
return false; // User clicks cancel
});
}
else {
return await this.saveNotebook();
}
}
// Replaces untitled notebook editor with the saved file name
private async replaceUntitledNotebookEditor(resource: URI, target: URI): Promise<boolean> {
let encodingOfSource = this.untitledEditorService.getEncoding(resource);
const replacement: IResourceInput = {
resource: target,
encoding: encodingOfSource,
options: {
pinned: true
}
};
return TPromise.join(this.editorGroupService.groups.map(g =>
this.editorService.replaceEditors([{
editor: { resource },
replacement
}], g))).then(() => {
this.notebookService.renameNotebookEditor(resource, target, this);
return true;
});
}
private async saveNotebook(): Promise<boolean> {
try {
let saved = await this._model.saveModel();
if (saved) {
@@ -368,6 +481,10 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
return this._notebookParams.notebookUri.toString();
}
public get modelReady(): Promise<INotebookModel> {
return this._modelReadyDeferred.promise;
}
isActive(): boolean {
return this.editorService.activeEditor === this.notebookParams.input;
}

View File

@@ -37,7 +37,7 @@
}
.notebookEditor .monaco-select-box {
min-width: 150px;
min-width: 100px;
}
.notebookEditor .notebook-button.icon-add{
@@ -74,4 +74,9 @@
.vs-dark .notebookEditor .notebook-button.icon-save,
.hc-black .notebookEditor .notebook-button.icon-save{
background-image: url("./media/dark/save_inverse.svg");
}
.moreActions .action-label.icon.toggle-more {
height: 20px;
width: 20px;
}

View File

@@ -26,7 +26,6 @@ const attachToLabel: string = localize('AttachTo', 'Attach to: ');
const msgLoadingContexts = localize('loadingContexts', 'Loading contexts...');
const msgAddNewConnection = localize('addNewConnection', 'Add new connection');
const msgSelectConnection = localize('selectConnection', 'Select connection');
const msgConnectionNotApplicable = localize('connectionNotSupported', 'n/a');
const msgLocalHost = localize('localhost', 'Localhost');
// Action to add a cell to notebook based on cell type(code/markdown).
@@ -65,8 +64,6 @@ export class SaveNotebookAction extends Action {
let saved = await context.save();
if (saved) {
this._notificationService.notify({ severity: Severity.Info, message: SaveNotebookAction.notebookSavedMsg, actions });
} else {
this._notificationService.error(SaveNotebookAction.notebookFailedSaveMsg);
}
return saved;
}

View File

@@ -177,4 +177,20 @@ export class NotebookInput extends EditorInput {
setDirty(isDirty: boolean): void {
this._model.setDirty(isDirty);
}
public matches(otherInput: any): boolean {
if (super.matches(otherInput) === true) {
return true;
}
if (otherInput instanceof NotebookInput) {
const otherNotebookEditorInput = <NotebookInput>otherInput;
// Compare by resource
return otherNotebookEditorInput.notebookUri.toString() === this.notebookUri.toString();
}
return false;
}
}

View File

@@ -11,9 +11,7 @@ import * as os from 'os';
import * as pfs from 'vs/base/node/pfs';
import { localize } from 'vs/nls';
import { IOutputChannel } from 'vs/workbench/parts/output/common/output';
import { Registry } from 'vs/platform/registry/common/platform';
import { INotebookProviderRegistry, Extensions } from 'sql/services/notebook/notebookRegistry';
import { DEFAULT_NOTEBOOK_PROVIDER, DEFAULT_NOTEBOOK_FILETYPE } from 'sql/services/notebook/notebookService';
import { DEFAULT_NOTEBOOK_PROVIDER, DEFAULT_NOTEBOOK_FILETYPE, INotebookService } from 'sql/services/notebook/notebookService';
/**
@@ -41,18 +39,17 @@ export async function mkDir(dirPath: string, outputChannel?: IOutputChannel): Pr
}
}
export function getProviderForFileName(fileName: string): string {
export function getProviderForFileName(fileName: string, notebookService: INotebookService): string {
let fileExt = path.extname(fileName);
let provider: string;
let notebookRegistry = Registry.as<INotebookProviderRegistry>(Extensions.NotebookProviderContribution);
// First try to get provider for actual file type
if (fileExt && fileExt.startsWith('.')) {
fileExt = fileExt.slice(1,fileExt.length);
provider = notebookRegistry.getProviderForFileType(fileExt);
provider = notebookService.getProviderForFileType(fileExt);
}
// Fallback to provider for default file type (assume this is a global handler)
if (!provider) {
provider = notebookRegistry.getProviderForFileType(DEFAULT_NOTEBOOK_FILETYPE);
provider = notebookService.getProviderForFileType(DEFAULT_NOTEBOOK_FILETYPE);
}
// Finally if all else fails, use the built-in handler
if (!provider) {

View File

@@ -22,7 +22,7 @@ import { Widget } from 'vs/base/browser/ui/widget';
import { Sash, IHorizontalSashLayoutProvider, ISashEvent, Orientation } from 'vs/base/browser/ui/sash/sash';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
import { FIND_IDS, MATCHES_LIMIT, CONTEXT_FIND_INPUT_FOCUSED } from 'vs/editor/contrib/find/findModel';
import { FIND_IDS, CONTEXT_FIND_INPUT_FOCUSED } from 'vs/editor/contrib/find/findModel';
import { FindReplaceState, FindReplaceStateChangedEvent } from 'vs/editor/contrib/find/findState';
import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
import { ITheme, registerThemingParticipant, IThemeService } from 'vs/platform/theme/common/themeService';
@@ -36,7 +36,7 @@ const NLS_FIND_INPUT_PLACEHOLDER = nls.localize('placeholder.find', "Find");
const NLS_PREVIOUS_MATCH_BTN_LABEL = nls.localize('label.previousMatchButton', "Previous match");
const NLS_NEXT_MATCH_BTN_LABEL = nls.localize('label.nextMatchButton', "Next match");
const NLS_CLOSE_BTN_LABEL = nls.localize('label.closeButton', "Close");
const NLS_MATCHES_COUNT_LIMIT_TITLE = nls.localize('title.matchesCountLimit', "Only the first 999 results are highlighted, but all find operations work on the entire text.");
const NLS_MATCHES_COUNT_LIMIT_TITLE = nls.localize('title.matchesCountLimit', "Your search returned a large number of results, only the first 999 matches will be highlighted.");
const NLS_MATCHES_LOCATION = nls.localize('label.matchesLocation', "{0} of {1}");
const NLS_NO_RESULTS = nls.localize('label.noResults', "No Results");
@@ -46,6 +46,8 @@ const FIND_INPUT_AREA_WIDTH = PART_WIDTH - 54;
let MAX_MATCHES_COUNT_WIDTH = 69;
export const PROFILER_MAX_MATCHES = 999;
export const ACTION_IDS = {
FIND_NEXT: 'findNext',
FIND_PREVIOUS: 'findPrev'
@@ -86,6 +88,8 @@ export class FindWidget extends Widget implements IOverlayWidget, IHorizontalSas
private _resizeSash: Sash;
private searchTimeoutHandle: number;
constructor(
tableController: ITableController,
state: FindReplaceState,
@@ -213,7 +217,7 @@ export class FindWidget extends Widget implements IOverlayWidget, IHorizontalSas
private _updateMatchesCount(): void {
this._matchesCount.style.minWidth = MAX_MATCHES_COUNT_WIDTH + 'px';
if (this._state.matchesCount >= MATCHES_LIMIT) {
if (this._state.matchesCount >= PROFILER_MAX_MATCHES) {
this._matchesCount.title = NLS_MATCHES_COUNT_LIMIT_TITLE;
} else {
this._matchesCount.title = '';
@@ -227,8 +231,8 @@ export class FindWidget extends Widget implements IOverlayWidget, IHorizontalSas
let label: string;
if (this._state.matchesCount > 0) {
let matchesCount: string = String(this._state.matchesCount);
if (this._state.matchesCount >= MATCHES_LIMIT) {
matchesCount += '+';
if (this._state.matchesCount >= PROFILER_MAX_MATCHES) {
matchesCount = PROFILER_MAX_MATCHES + '+';
}
let matchesPosition: string = String(this._state.matchesPosition);
if (matchesPosition === '0') {
@@ -401,7 +405,14 @@ export class FindWidget extends Widget implements IOverlayWidget, IHorizontalSas
this._findInput.setWholeWords(!!this._state.wholeWord);
this._register(this._findInput.onKeyDown((e) => this._onFindInputKeyDown(e)));
this._register(this._findInput.onInput(() => {
this._state.change({ searchString: this._findInput.getValue() }, true);
let self = this;
if (self.searchTimeoutHandle) {
clearTimeout(self.searchTimeoutHandle);
}
this.searchTimeoutHandle = setTimeout(function () {
self._state.change({ searchString: self._findInput.getValue() }, true);
}, 300);
}));
this._register(this._findInput.onDidOptionChange(() => {
this._state.change({

View File

@@ -27,6 +27,7 @@ import { Event, Emitter } from 'vs/base/common/event';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { Dimension } from 'vs/base/browser/dom';
import { textFormatter } from 'sql/parts/grid/services/sharedServices';
import { PROFILER_MAX_MATCHES } from 'sql/parts/profiler/editor/controller/profilerFindWidget';
export interface ProfilerTableViewState {
scrollTop: number;
@@ -214,7 +215,7 @@ export class ProfilerTableEditor extends BaseEditor implements IProfilerControll
if (e.searchString) {
if (this._input && this._input.data) {
if (this._findState.searchString) {
this._input.data.find(this._findState.searchString).then(p => {
this._input.data.find(this._findState.searchString, PROFILER_MAX_MATCHES).then(p => {
if (p) {
this._profilerTable.setActiveCell(p.row, p.col);
this._updateFinderMatchState();

View File

@@ -305,6 +305,11 @@ let registryProperties = {
'description': localize('sql.saveAsCsv.encoding', '[Optional] File encoding used when saving results as CSV'),
'default': 'utf-8'
},
'sql.results.streaming': {
'type': 'boolean',
'description': localize('sql.results.streaming', 'Enable results streaming; contains few minor visual issues'),
'default': false
},
'sql.copyIncludeHeaders': {
'type': 'boolean',
'description': localize('sql.copyIncludeHeaders', '[Optional] Configuration options for copying results from the Results View'),

View File

@@ -185,62 +185,97 @@ export class GridPanel extends ViewletPanel {
}
this.reset();
}));
this.addResultSet(this.runner.batchSets.reduce<sqlops.ResultSetSummary[]>((p, e) => {
if (this.configurationService.getValue<boolean>('sql.results.streaming')) {
p = p.concat(e.resultSetSummaries);
} else {
p = p.concat(e.resultSetSummaries.filter(c => c.complete));
}
return p;
}, []));
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
}
}
private onResultSet(resultSet: sqlops.ResultSetSummary | sqlops.ResultSetSummary[]) {
this.addResultSet(resultSet);
this.tables.map(t => {
t.state.canBeMaximized = this.tables.length > 1;
});
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
}
}
private updateResultSet(resultSet: sqlops.ResultSetSummary | sqlops.ResultSetSummary[]) {
let resultsToUpdate: sqlops.ResultSetSummary[];
if (!Array.isArray(resultSet)) {
resultsToUpdate = [resultSet];
} else {
resultsToUpdate = resultSet;
}
for (let set of resultsToUpdate) {
let table = this.tables.find(t => t.resultSet.batchId === set.batchId && t.resultSet.id === set.id);
if (table) {
table.updateResult(set);
} else {
warn('Got result set update request for non-existant table');
}
}
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
}
}
private addResultSet(resultSet: sqlops.ResultSetSummary | sqlops.ResultSetSummary[]) {
let resultsToAdd: sqlops.ResultSetSummary[];
if (!Array.isArray(resultSet)) {
resultsToAdd = [resultSet];
} else {
resultsToAdd = resultSet;
resultsToAdd = resultSet.splice(0);
}
const sizeChanges = () => {
this.tables.map(t => {
t.state.canBeMaximized = this.tables.length > 1;
});
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
}
};
if (this.configurationService.getValue<boolean>('sql.results.streaming')) {
this.addResultSet(resultsToAdd);
sizeChanges();
} else {
resultsToAdd = resultsToAdd.filter(e => e.complete);
if (resultsToAdd.length > 0) {
this.addResultSet(resultsToAdd);
}
sizeChanges();
}
}
private updateResultSet(resultSet: sqlops.ResultSetSummary | sqlops.ResultSetSummary[]) {
let resultsToUpdate: sqlops.ResultSetSummary[];
if (!Array.isArray(resultSet)) {
resultsToUpdate = [resultSet];
} else {
resultsToUpdate = resultSet.splice(0);
}
const sizeChanges = () => {
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
}
};
if (this.configurationService.getValue<boolean>('sql.results.streaming')) {
for (let set of resultsToUpdate) {
let table = this.tables.find(t => t.resultSet.batchId === set.batchId && t.resultSet.id === set.id);
if (table) {
table.updateResult(set);
} else {
warn('Got result set update request for non-existant table');
}
}
sizeChanges();
} else {
resultsToUpdate = resultsToUpdate.filter(e => e.complete);
if (resultsToUpdate.length > 0) {
this.addResultSet(resultsToUpdate);
}
sizeChanges();
}
}
private addResultSet(resultSet: sqlops.ResultSetSummary[]) {
let tables: GridTable<any>[] = [];
for (let set of resultsToAdd) {
for (let set of resultSet) {
let tableState: GridTableState;
if (this._state) {
tableState = this.state.tableStates.find(e => e.batchId === set.batchId && e.resultId === set.id);
@@ -601,6 +636,7 @@ class GridTable<T> extends Disposable implements IView {
this.table.updateRowCount();
}
this.rowNumberColumn.updateRowCount(resultSet.rowCount);
this._onDidChange.fire();
}
private generateContext(cell?: Slick.Cell): IGridActionContext {

View File

@@ -97,8 +97,8 @@ export default class QueryRunner extends Disposable {
return l.concat(e);
}
});
private _echoedResultSet = echo(this._debouncedResultSet.event);
public readonly onResultSet = this._echoedResultSet.event;
// private _echoedResultSet = echo(this._debouncedResultSet.event);
public readonly onResultSet = this._debouncedResultSet.event;
private _onResultSetUpdate = this._register(new Emitter<sqlops.ResultSetSummary>());
private _debouncedResultSetUpdate = debounceEvent<sqlops.ResultSetSummary, sqlops.ResultSetSummary[]>(this._onResultSetUpdate.event, (l, e) => {
@@ -109,8 +109,8 @@ export default class QueryRunner extends Disposable {
return l.concat(e);
}
});
private _echoedResultSetUpdate = echo(this._debouncedResultSetUpdate.event);
public readonly onResultSetUpdate = this._echoedResultSetUpdate.event;
// private _echoedResultSetUpdate = echo(this._debouncedResultSetUpdate.event);
public readonly onResultSetUpdate = this._debouncedResultSetUpdate.event;
private _onQueryStart = this._register(new Emitter<void>());
public readonly onQueryStart: Event<void> = this._onQueryStart.event;
@@ -203,9 +203,9 @@ export default class QueryRunner extends Disposable {
return TPromise.as(undefined);
}
this._echoedMessages.clear();
this._echoedResultSet.clear();
// this._echoedResultSet.clear();
this._debouncedMessage.clear();
this._debouncedResultSet.clear();
// this._debouncedResultSet.clear();
this._planXml = new Deferred<string>();
this._batchSets = [];
this._hasCompleted = false;

View File

@@ -9,12 +9,13 @@ import { IJSONSchema } from 'vs/base/common/jsonSchema';
import { ExtensionsRegistry, IExtensionPointUser } from 'vs/workbench/services/extensions/common/extensionsRegistry';
import { localize } from 'vs/nls';
import * as platform from 'vs/platform/registry/common/platform';
import { Event, Emitter } from 'vs/base/common/event';
export const Extensions = {
NotebookProviderContribution: 'notebook.providers'
};
export interface NotebookProviderDescription {
export interface NotebookProviderRegistration {
provider: string;
fileExtensions: string | string[];
}
@@ -54,42 +55,28 @@ let notebookContrib: IJSONSchema = {
};
export interface INotebookProviderRegistry {
registerNotebookProvider(provider: NotebookProviderDescription): void;
getSupportedFileExtensions(): string[];
getProviderForFileType(fileType: string): string;
readonly registrations: NotebookProviderRegistration[];
readonly onNewRegistration: Event<{ id: string, registration: NotebookProviderRegistration }>;
registerNotebookProvider(registration: NotebookProviderRegistration): void;
}
class NotebookProviderRegistry implements INotebookProviderRegistry {
private providerIdToProviders = new Map<string, NotebookProviderDescription>();
private fileToProviders = new Map<string, NotebookProviderDescription>();
private providerIdToRegistration = new Map<string, NotebookProviderRegistration>();
private _onNewRegistration = new Emitter<{ id: string, registration: NotebookProviderRegistration }>();
public readonly onNewRegistration: Event<{ id: string, registration: NotebookProviderRegistration }> = this._onNewRegistration.event;
registerNotebookProvider(provider: NotebookProviderDescription): void {
registerNotebookProvider(registration: NotebookProviderRegistration): void {
// Note: this method intentionally overrides default provider for a file type.
// This means that any built-in provider will be overridden by registered extensions
this.providerIdToProviders.set(provider.provider, provider);
if (provider.fileExtensions) {
if (Array.isArray<string>(provider.fileExtensions)) {
for (let fileType of provider.fileExtensions) {
this.addFileProvider(fileType, provider);
}
} else {
this.addFileProvider(provider.fileExtensions, provider);
}
}
this.providerIdToRegistration.set(registration.provider, registration);
this._onNewRegistration.fire( { id: registration.provider, registration: registration });
}
private addFileProvider(fileType: string, provider: NotebookProviderDescription) {
this.fileToProviders.set(fileType.toUpperCase(), provider);
}
getSupportedFileExtensions(): string[] {
return Array.from(this.fileToProviders.keys());
}
getProviderForFileType(fileType: string): string {
fileType = fileType.toUpperCase();
let provider = this.fileToProviders.get(fileType);
return provider ? provider.provider : undefined;
public get registrations(): NotebookProviderRegistration[] {
let registrationArray: NotebookProviderRegistration[] = [];
this.providerIdToRegistration.forEach(p => registrationArray.push(p));
return registrationArray;
}
}
@@ -97,15 +84,15 @@ const notebookProviderRegistry = new NotebookProviderRegistry();
platform.Registry.add(Extensions.NotebookProviderContribution, notebookProviderRegistry);
ExtensionsRegistry.registerExtensionPoint<NotebookProviderDescription | NotebookProviderDescription[]>(Extensions.NotebookProviderContribution, [], notebookContrib).setHandler(extensions => {
ExtensionsRegistry.registerExtensionPoint<NotebookProviderRegistration | NotebookProviderRegistration[]>(Extensions.NotebookProviderContribution, [], notebookContrib).setHandler(extensions => {
function handleExtension(contrib: NotebookProviderDescription, extension: IExtensionPointUser<any>) {
function handleExtension(contrib: NotebookProviderRegistration, extension: IExtensionPointUser<any>) {
notebookProviderRegistry.registerNotebookProvider(contrib);
}
for (let extension of extensions) {
const { value } = extension;
if (Array.isArray<NotebookProviderDescription>(value)) {
if (Array.isArray<NotebookProviderRegistration>(value)) {
for (let command of value) {
handleExtension(command, extension);
}

View File

@@ -16,6 +16,7 @@ import { ModelFactory } from 'sql/parts/notebook/models/modelFactory';
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
import { NotebookInput } from 'sql/parts/notebook/notebookInput';
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
import { ICellModel, INotebookModel } from 'sql/parts/notebook/models/modelInterfaces';
export const SERVICE_ID = 'notebookService';
export const INotebookService = createDecorator<INotebookService>(SERVICE_ID);
@@ -26,9 +27,12 @@ export const DEFAULT_NOTEBOOK_FILETYPE = 'IPYNB';
export interface INotebookService {
_serviceBrand: any;
onNotebookEditorAdd: Event<INotebookEditor>;
onNotebookEditorRemove: Event<INotebookEditor>;
readonly onNotebookEditorAdd: Event<INotebookEditor>;
readonly onNotebookEditorRemove: Event<INotebookEditor>;
onNotebookEditorRename: Event<INotebookEditor>;
readonly isRegistrationComplete: boolean;
readonly registrationComplete: Promise<void>;
/**
* Register a metadata provider
*/
@@ -39,6 +43,10 @@ export interface INotebookService {
*/
unregisterProvider(providerId: string): void;
getSupportedFileExtensions(): string[];
getProviderForFileType(fileType: string): string;
/**
* Initializes and returns a Notebook manager that can handle all important calls to open, display, and
* run cells in a notebook.
@@ -57,6 +65,8 @@ export interface INotebookService {
shutdown(): void;
getMimeRegistry(): RenderMimeRegistry;
renameNotebookEditor(oldUri: URI, newUri: URI, currentEditor: INotebookEditor): void;
}
export interface INotebookProvider {
@@ -84,6 +94,8 @@ export interface INotebookParams extends IBootstrapParams {
export interface INotebookEditor {
readonly notebookParams: INotebookParams;
readonly id: string;
readonly cells?: ICellModel[];
readonly modelReady: Promise<INotebookModel>;
isDirty(): boolean;
isActive(): boolean;
isVisible(): boolean;

View File

@@ -18,41 +18,143 @@ import { RenderMimeRegistry } from 'sql/parts/notebook/outputs/registry';
import { standardRendererFactories } from 'sql/parts/notebook/outputs/factories';
import { LocalContentManager } from 'sql/services/notebook/localContentManager';
import { SessionManager } from 'sql/services/notebook/sessionManager';
import { Extensions, INotebookProviderRegistry } from 'sql/services/notebook/notebookRegistry';
import { Extensions, INotebookProviderRegistry, NotebookProviderRegistration } from 'sql/services/notebook/notebookRegistry';
import { Emitter, Event } from 'vs/base/common/event';
import { Memento } from 'vs/workbench/common/memento';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { IExtensionManagementService, IExtensionIdentifier } from 'vs/platform/extensionManagement/common/extensionManagement';
import { Disposable } from 'vs/base/common/lifecycle';
import { getIdFromLocalExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { Deferred } from 'sql/base/common/promise';
export interface NotebookProviderProperties {
provider: string;
fileExtensions: string[];
}
export class NotebookService implements INotebookService {
interface NotebookProviderCache {
[id: string]: NotebookProviderProperties;
}
interface NotebookProvidersMemento {
notebookProviderCache: NotebookProviderCache;
}
const notebookRegistry = Registry.as<INotebookProviderRegistry>(Extensions.NotebookProviderContribution);
class ProviderDescriptor {
private _instanceReady = new Deferred<INotebookProvider>();
constructor(private providerId: string, private _instance?: INotebookProvider) {
if (_instance) {
this._instanceReady.resolve(_instance);
}
}
public get instanceReady(): Promise<INotebookProvider> {
return this._instanceReady.promise;
}
public get instance(): INotebookProvider {
return this._instance;
}
public set instance(value: INotebookProvider) {
this._instance = value;
this._instanceReady.resolve(value);
}
}
export class NotebookService extends Disposable implements INotebookService {
_serviceBrand: any;
private _memento = new Memento('notebookProviders');
private _mimeRegistry: RenderMimeRegistry;
private _providers: Map<string, INotebookProvider> = new Map();
private _providers: Map<string, ProviderDescriptor> = new Map();
private _managers: Map<string, INotebookManager> = new Map();
private _onNotebookEditorAdd = new Emitter<INotebookEditor>();
private _onNotebookEditorRemove = new Emitter<INotebookEditor>();
private _onCellChanged = new Emitter<INotebookEditor>();
private _onNotebookEditorRename = new Emitter<INotebookEditor>();
private _editors = new Map<string, INotebookEditor>();
private _fileToProviders = new Map<string, NotebookProviderRegistration>();
private _registrationComplete = new Deferred<void>();
private _isRegistrationComplete = false;
constructor() {
constructor(
@IStorageService private _storageService: IStorageService,
@IExtensionService extensionService: IExtensionService,
@IExtensionManagementService extensionManagementService: IExtensionManagementService
) {
super();
this._register(notebookRegistry.onNewRegistration(this.updateRegisteredProviders, this));
this.registerDefaultProvider();
if (extensionService) {
extensionService.whenInstalledExtensionsRegistered().then(() => {
this.cleanupProviders();
this._isRegistrationComplete = true;
this._registrationComplete.resolve();
});
}
if (extensionManagementService) {
this._register(extensionManagementService.onDidUninstallExtension(({ identifier }) => this.removeContributedProvidersFromCache(identifier, extensionService)));
}
}
private registerDefaultProvider() {
let defaultProvider = new BuiltinProvider();
this.registerProvider(defaultProvider.providerId, defaultProvider);
let registry = Registry.as<INotebookProviderRegistry>(Extensions.NotebookProviderContribution);
registry.registerNotebookProvider({
provider: defaultProvider.providerId,
fileExtensions: DEFAULT_NOTEBOOK_FILETYPE
});
private updateRegisteredProviders(p: { id: string; registration: NotebookProviderRegistration; }) {
let registration = p.registration;
if (!this._providers.has(p.id)) {
this._providers.set(p.id, new ProviderDescriptor(p.id));
}
if (registration.fileExtensions) {
if (Array.isArray<string>(registration.fileExtensions)) {
for (let fileType of registration.fileExtensions) {
this.addFileProvider(fileType, registration);
}
}
else {
this.addFileProvider(registration.fileExtensions, registration);
}
}
}
registerProvider(providerId: string, provider: INotebookProvider): void {
this._providers.set(providerId, provider);
registerProvider(providerId: string, instance: INotebookProvider): void {
let providerDescriptor = this._providers.get(providerId);
if (providerDescriptor) {
// Update, which will resolve the promise for anyone waiting on the instance to be registered
providerDescriptor.instance = instance;
} else {
this._providers.set(providerId, new ProviderDescriptor(providerId, instance));
}
}
unregisterProvider(providerId: string): void {
this._providers.delete(providerId);
}
get isRegistrationComplete(): boolean {
return this._isRegistrationComplete;
}
get registrationComplete(): Promise<void> {
return this._registrationComplete.promise;
}
private addFileProvider(fileType: string, provider: NotebookProviderRegistration) {
this._fileToProviders.set(fileType.toUpperCase(), provider);
}
getSupportedFileExtensions(): string[] {
return Array.from(this._fileToProviders.keys());
}
getProviderForFileType(fileType: string): string {
fileType = fileType.toUpperCase();
let provider = this._fileToProviders.get(fileType);
return provider ? provider.provider : undefined;
}
public shutdown(): void {
this._managers.forEach(manager => {
if (manager.serverManager) {
@@ -83,6 +185,13 @@ export class NotebookService implements INotebookService {
get onNotebookEditorRemove(): Event<INotebookEditor> {
return this._onNotebookEditorRemove.event;
}
get onCellChanged(): Event<INotebookEditor> {
return this._onCellChanged.event;
}
get onNotebookEditorRename(): Event<INotebookEditor> {
return this._onNotebookEditorRename.event;
}
addNotebookEditor(editor: INotebookEditor): void {
this._editors.set(editor.id, editor);
@@ -103,32 +212,70 @@ export class NotebookService implements INotebookService {
return editors;
}
private sendNotebookCloseToProvider(editor: INotebookEditor) {
renameNotebookEditor(oldUri: URI, newUri: URI, currentEditor: INotebookEditor): void {
let oldUriKey = oldUri.toString();
if(this._editors.has(oldUriKey))
{
this._editors.delete(oldUriKey);
currentEditor.notebookParams.notebookUri = newUri;
this._editors.set(newUri.toString(), currentEditor);
this._onNotebookEditorRename.fire(currentEditor);
}
}
private sendNotebookCloseToProvider(editor: INotebookEditor): void {
let notebookUri = editor.notebookParams.notebookUri;
let uriString = notebookUri.toString();
let manager = this._managers.get(uriString);
if (manager) {
// As we have a manager, we can assume provider is ready
this._managers.delete(uriString);
let provider = this._providers.get(manager.providerId);
provider.handleNotebookClosed(notebookUri);
provider.instance.handleNotebookClosed(notebookUri);
}
}
// PRIVATE HELPERS /////////////////////////////////////////////////////
private doWithProvider<T>(providerId: string, op: (provider: INotebookProvider) => Thenable<T>): Thenable<T> {
private async doWithProvider<T>(providerId: string, op: (provider: INotebookProvider) => Thenable<T>): Promise<T> {
// Make sure the provider exists before attempting to retrieve accounts
let provider: INotebookProvider;
if (this._providers.has(providerId)) {
provider = this._providers.get(providerId);
}
else {
provider = this._providers.get(DEFAULT_NOTEBOOK_PROVIDER);
let provider: INotebookProvider = await this.getProviderInstance(providerId);
return op(provider);
}
private async getProviderInstance(providerId: string, timeout?: number): Promise<INotebookProvider> {
let providerDescriptor = this._providers.get(providerId);
let instance: INotebookProvider;
// Try get from actual provider, waiting on its registration
if (providerDescriptor) {
if (!providerDescriptor.instance) {
instance = await this.waitOnProviderAvailability(providerDescriptor);
} else {
instance = providerDescriptor.instance;
}
}
if (!provider) {
return Promise.reject(new Error(localize('notebookServiceNoProvider', 'Notebook provider does not exist'))).then();
// Fall back to default if this failed
if (!instance) {
providerDescriptor = this._providers.get(DEFAULT_NOTEBOOK_PROVIDER);
instance = providerDescriptor ? providerDescriptor.instance : undefined;
}
return op(provider);
// Should never happen, but if default wasn't registered we should throw
if (!instance) {
throw new Error(localize('notebookServiceNoProvider', 'Notebook provider does not exist'));
}
return instance;
}
private waitOnProviderAvailability(providerDescriptor: ProviderDescriptor, timeout?: number): Promise<INotebookProvider> {
// Wait up to 10 seconds for the provider to be registered
timeout = timeout || 10000;
let promises: Promise<INotebookProvider>[] = [
providerDescriptor.instanceReady,
new Promise<INotebookProvider>((resolve, reject) => setTimeout(() => resolve(), timeout))
];
return Promise.race(promises);
}
//Returns an instantiation of RenderMimeRegistry class
@@ -140,6 +287,41 @@ export class NotebookService implements INotebookService {
}
return this._mimeRegistry;
}
private get providersMemento(): NotebookProvidersMemento {
return this._memento.getMemento(this._storageService) as NotebookProvidersMemento;
}
private cleanupProviders(): void {
let knownProviders = Object.keys(notebookRegistry.registrations);
let cache = this.providersMemento.notebookProviderCache;
for (let key in cache) {
if (!knownProviders.includes(key)) {
this._providers.delete(key);
delete cache[key];
}
}
}
private registerDefaultProvider() {
let defaultProvider = new BuiltinProvider();
this.registerProvider(defaultProvider.providerId, defaultProvider);
notebookRegistry.registerNotebookProvider({
provider: defaultProvider.providerId,
fileExtensions: DEFAULT_NOTEBOOK_FILETYPE
});
}
private removeContributedProvidersFromCache(identifier: IExtensionIdentifier, extensionService: IExtensionService) {
let extensionid = getIdFromLocalExtensionId(identifier.id);
extensionService.getExtensions().then(i => {
let extension = i.find(c => c.id === extensionid);
if (extension && extension.contributes['notebookProvider']) {
let id = extension.contributes['notebookProvider'].providerId;
delete this.providersMemento.notebookProviderCache[id];
}
});
}
}
export class BuiltinProvider implements INotebookProvider {

View File

@@ -1548,6 +1548,7 @@ declare module 'sqlops' {
export interface NotebookCell {
contents: ICellContents;
uri?: vscode.Uri;
}
export interface NotebookShowOptions {
@@ -1593,7 +1594,7 @@ declare module 'sqlops' {
/**
* The new value for the [notebook documents's cells](#NotebookDocument.cells).
*/
cell: NotebookCell[];
cells: NotebookCell[];
/**
* The [change kind](#TextEditorSelectionChangeKind) which has triggered this
* event. Can be `undefined`.

View File

@@ -24,11 +24,6 @@ export class ExtHostNotebook implements ExtHostNotebookShape {
private readonly _proxy: MainThreadNotebookShape;
private _adapters = new Map<number, Adapter>();
private _onDidOpenNotebook = new Emitter<sqlops.nb.NotebookDocument>();
private _onDidChangeNotebookCell = new Emitter<sqlops.nb.NotebookCellChangeEvent>();
public readonly onDidOpenNotebookDocument: Event<sqlops.nb.NotebookDocument> = this._onDidOpenNotebook.event;
public readonly onDidChangeNotebookCell: Event<sqlops.nb.NotebookCellChangeEvent> = this._onDidChangeNotebookCell.event;
// Notebook URI to manager lookup.
constructor(_mainContext: IMainContext) {

View File

@@ -12,22 +12,20 @@ import { ok } from 'vs/base/common/assert';
import { Schemas } from 'vs/base/common/network';
import { TPromise } from 'vs/base/common/winjs.base';
import { MainThreadNotebookDocumentsAndEditorsShape } from 'sql/workbench/api/node/sqlExtHost.protocol';
import { MainThreadNotebookDocumentsAndEditorsShape, INotebookModelChangedData } from 'sql/workbench/api/node/sqlExtHost.protocol';
import { CellRange } from 'sql/workbench/api/common/sqlExtHostTypes';
export class ExtHostNotebookDocumentData implements IDisposable {
private _document: sqlops.nb.NotebookDocument;
private _cells: sqlops.nb.NotebookCell[];
private _isDisposed: boolean = false;
constructor(private readonly _proxy: MainThreadNotebookDocumentsAndEditorsShape,
private readonly _uri: URI,
private readonly _providerId: string,
private _isDirty: boolean
private _providerId: string,
private _isDirty: boolean,
private _cells: sqlops.nb.NotebookCell[]
) {
// TODO add cell mapping support
this._cells = [];
}
dispose(): void {
@@ -66,6 +64,14 @@ export class ExtHostNotebookDocumentData implements IDisposable {
}
public onModelChanged(data: INotebookModelChangedData) {
if (data) {
this._isDirty = data.isDirty;
this._cells = data.cells;
this._providerId = data.providerId;
}
}
// ---- range math
private _validateRange(range: sqlops.nb.CellRange): sqlops.nb.CellRange {

View File

@@ -9,7 +9,7 @@ import * as vscode from 'vscode';
import { Event, Emitter } from 'vs/base/common/event';
import { dispose } from 'vs/base/common/lifecycle';
import URI from 'vs/base/common/uri';
import URI, { UriComponents } from 'vs/base/common/uri';
import { Disposable } from 'vs/workbench/api/node/extHostTypes';
import * as typeConverters from 'vs/workbench/api/node/extHostTypeConverters';
import { IMainContext } from 'vs/workbench/api/node/extHost.protocol';
@@ -17,7 +17,7 @@ import { ok } from 'vs/base/common/assert';
import {
SqlMainContext, INotebookDocumentsAndEditorsDelta, ExtHostNotebookDocumentsAndEditorsShape,
MainThreadNotebookDocumentsAndEditorsShape, INotebookShowOptions
MainThreadNotebookDocumentsAndEditorsShape, INotebookShowOptions, INotebookModelChangedData
} from 'sql/workbench/api/node/sqlExtHost.protocol';
import { ExtHostNotebookDocumentData } from 'sql/workbench/api/node/extHostNotebookDocumentData';
import { ExtHostNotebookEditor } from 'sql/workbench/api/node/extHostNotebookEditor';
@@ -33,15 +33,16 @@ export class ExtHostNotebookDocumentsAndEditors implements ExtHostNotebookDocume
private readonly _editors = new Map<string, ExtHostNotebookEditor>();
private readonly _documents = new Map<string, ExtHostNotebookDocumentData>();
private readonly _onDidAddDocuments = new Emitter<ExtHostNotebookDocumentData[]>();
private readonly _onDidRemoveDocuments = new Emitter<ExtHostNotebookDocumentData[]>();
private readonly _onDidChangeVisibleNotebookEditors = new Emitter<ExtHostNotebookEditor[]>();
private readonly _onDidChangeActiveNotebookEditor = new Emitter<ExtHostNotebookEditor>();
private _onDidOpenNotebook = new Emitter<sqlops.nb.NotebookDocument>();
private _onDidChangeNotebookCell = new Emitter<sqlops.nb.NotebookCellChangeEvent>();
readonly onDidAddDocuments: Event<ExtHostNotebookDocumentData[]> = this._onDidAddDocuments.event;
readonly onDidRemoveDocuments: Event<ExtHostNotebookDocumentData[]> = this._onDidRemoveDocuments.event;
readonly onDidChangeVisibleNotebookEditors: Event<ExtHostNotebookEditor[]> = this._onDidChangeVisibleNotebookEditors.event;
readonly onDidChangeActiveNotebookEditor: Event<ExtHostNotebookEditor> = this._onDidChangeActiveNotebookEditor.event;
readonly onDidOpenNotebookDocument: Event<sqlops.nb.NotebookDocument> = this._onDidOpenNotebook.event;
readonly onDidChangeNotebookCell: Event<sqlops.nb.NotebookCellChangeEvent> = this._onDidChangeNotebookCell.event;
constructor(
private readonly _mainContext: IMainContext,
@@ -81,7 +82,8 @@ export class ExtHostNotebookDocumentsAndEditors implements ExtHostNotebookDocume
this._proxy,
resource,
data.providerId,
data.isDirty
data.isDirty,
data.cells
);
this._documents.set(resource.toString(), documentData);
addedDocuments.push(documentData);
@@ -122,11 +124,11 @@ export class ExtHostNotebookDocumentsAndEditors implements ExtHostNotebookDocume
dispose(removedEditors);
// now that the internal state is complete, fire events
if (delta.removedDocuments) {
this._onDidRemoveDocuments.fire(removedDocuments);
if (removedDocuments) {
// TODO add doc close event
}
if (delta.addedDocuments) {
this._onDidAddDocuments.fire(addedDocuments);
if (addedDocuments) {
addedDocuments.forEach(d => this._onDidOpenNotebook.fire(d.document));
}
if (delta.removedEditors || delta.addedEditors) {
@@ -136,6 +138,21 @@ export class ExtHostNotebookDocumentsAndEditors implements ExtHostNotebookDocume
this._onDidChangeActiveNotebookEditor.fire(this.getActiveEditor());
}
}
$acceptModelChanged(uriComponents: UriComponents, e: INotebookModelChangedData): void {
const uri = URI.revive(uriComponents);
const strURL = uri.toString();
let data = this._documents.get(strURL);
if (data) {
data.onModelChanged(e);
this._onDidChangeNotebookCell.fire({
cells: data.document.cells,
notebook: data.document,
kind: undefined
});
}
}
//#endregion
//#region Extension accessible methods

View File

@@ -5,19 +5,22 @@
'use strict';
import * as sqlops from 'sqlops';
import * as util from 'util';
import { extHostNamedCustomer } from 'vs/workbench/api/electron-browser/extHostCustomers';
import { Disposable } from 'vs/base/common/lifecycle';
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
import URI, { UriComponents } from 'vs/base/common/uri';
import { Event, Emitter } from 'vs/base/common/event';
import { IExtHostContext, IUndoStopOptions } from 'vs/workbench/api/node/extHost.protocol';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IEditorGroupsService } from 'vs/workbench/services/group/common/editorGroupsService';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { ITextEditorOptions } from 'vs/platform/editor/common/editor';
import { viewColumnToEditorGroup } from 'vs/workbench/api/shared/editor';
import { Schemas } from 'vs/base/common/network';
import {
SqlMainContext, MainThreadNotebookDocumentsAndEditorsShape, SqlExtHostContext, ExtHostNotebookDocumentsAndEditorsShape,
INotebookDocumentsAndEditorsDelta, INotebookEditorAddData, INotebookShowOptions, INotebookModelAddedData
INotebookDocumentsAndEditorsDelta, INotebookEditorAddData, INotebookShowOptions, INotebookModelAddedData, INotebookModelChangedData
} from 'sql/workbench/api/node/sqlExtHost.protocol';
import { NotebookInputModel, NotebookInput } from 'sql/parts/notebook/notebookInput';
import { INotebookService, INotebookEditor } from 'sql/services/notebook/notebookService';
@@ -25,11 +28,17 @@ import { TPromise } from 'vs/base/common/winjs.base';
import { getProviderForFileName } from 'sql/parts/notebook/notebookUtils';
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
import { disposed } from 'vs/base/common/errors';
import { ICellModel, NotebookContentChange } from 'sql/parts/notebook/models/modelInterfaces';
class MainThreadNotebookEditor extends Disposable {
private _contentChangedEmitter = new Emitter<NotebookContentChange>();
public readonly contentChanged: Event<NotebookContentChange> = this._contentChangedEmitter.event;
constructor(public readonly editor: INotebookEditor) {
super();
editor.modelReady.then(model => {
this._register(model.contentChanged((e) => this._contentChangedEmitter.fire(e)));
});
}
public get uri(): URI {
@@ -48,6 +57,10 @@ class MainThreadNotebookEditor extends Disposable {
return this.editor.notebookParams.providerId;
}
public get cells(): ICellModel[] {
return this.editor.cells;
}
public save(): Thenable<boolean> {
return this.editor.save();
}
@@ -86,7 +99,7 @@ class MainThreadNotebookEditor extends Disposable {
}
function wait(timeMs: number): Promise<void> {
return new Promise(resolve => setTimeout(resolve, timeMs));
return new Promise((resolve: Function) => setTimeout(resolve, timeMs));
}
@@ -205,6 +218,7 @@ class MainThreadNotebookDocumentAndEditorStateComputer extends Disposable {
this._register(this._editorService.onDidVisibleEditorsChange(this._updateState, this));
this._register(this._notebookService.onNotebookEditorAdd(this._onDidAddEditor, this));
this._register(this._notebookService.onNotebookEditorRemove(this._onDidRemoveEditor, this));
this._register(this._notebookService.onNotebookEditorRename(this._onDidRenameEditor, this));
this._updateState();
}
@@ -219,6 +233,11 @@ class MainThreadNotebookDocumentAndEditorStateComputer extends Disposable {
this._updateState();
}
private _onDidRenameEditor(e: INotebookEditor): void {
this._updateState();
//TODO: Close editor and open it
}
private _updateState(): void {
// editor
const editors = new Map<string, INotebookEditor>();
@@ -246,12 +265,13 @@ export class MainThreadNotebookDocumentsAndEditors extends Disposable implements
private _proxy: ExtHostNotebookDocumentsAndEditorsShape;
private _notebookEditors = new Map<string, MainThreadNotebookEditor>();
private _modelToDisposeMap = new Map<string, IDisposable>();
constructor(
extHostContext: IExtHostContext,
@IInstantiationService private _instantiationService: IInstantiationService,
@IEditorService private _editorService: IEditorService,
@IEditorGroupsService private _editorGroupService: IEditorGroupsService
@IEditorGroupsService private _editorGroupService: IEditorGroupsService,
@INotebookService private readonly _notebookService: INotebookService
) {
super();
if (extHostContext) {
@@ -293,12 +313,12 @@ export class MainThreadNotebookDocumentsAndEditors extends Disposable implements
preserveFocus: options.preserveFocus,
pinned: !options.preview
};
let model = new NotebookInputModel(uri, undefined, false, undefined);
let trusted = uri.scheme === Schemas.untitled;
let model = new NotebookInputModel(uri, undefined, trusted, undefined);
let providerId = options.providerId;
if(!providerId)
{
if (!providerId) {
// Ensure there is always a sensible provider ID for this file type
providerId = getProviderForFileName(uri.fsPath);
providerId = getProviderForFileName(uri.fsPath, this._notebookService);
}
model.providerId = providerId;
@@ -389,8 +409,34 @@ export class MainThreadNotebookDocumentsAndEditors extends Disposable implements
if (!empty) {
this._proxy.$acceptDocumentsAndEditorsDelta(extHostDelta);
this.processRemovedDocs(removedDocuments);
this.processAddedDocs(addedEditors);
}
}
processRemovedDocs(removedDocuments: URI[]): void {
if (!removedDocuments) {
return;
}
removedDocuments.forEach(removedDoc => {
let listener = this._modelToDisposeMap.get(removedDoc.toString());
if (listener) {
listener.dispose();
this._modelToDisposeMap.delete(removedDoc.toString());
}
});
}
processAddedDocs(addedEditors: MainThreadNotebookEditor[]): any {
if (!addedEditors) {
return;
}
addedEditors.forEach(editor => {
let modelUrl = editor.uri;
this._modelToDisposeMap.set(editor.uri.toString(), editor.contentChanged((e) => {
this._proxy.$acceptModelChanged(modelUrl, this._toNotebookChangeData(e, editor));
}));
});
}
private _toNotebookEditorAddData(editor: MainThreadNotebookEditor): INotebookEditorAddData {
let addData: INotebookEditorAddData = {
@@ -405,8 +451,54 @@ export class MainThreadNotebookDocumentsAndEditors extends Disposable implements
let addData: INotebookModelAddedData = {
uri: editor.uri,
isDirty: editor.isDirty,
providerId: editor.providerId
providerId: editor.providerId,
cells: this.convertCellModelToNotebookCell(editor.cells)
};
return addData;
}
private _toNotebookChangeData(e: NotebookContentChange, editor: MainThreadNotebookEditor): INotebookModelChangedData {
let changeData: INotebookModelChangedData = {
// Note: we just send all cells for now, not a diff
cells: this.convertCellModelToNotebookCell(editor.cells),
isDirty: e.isDirty,
providerId: editor.providerId,
uri: editor.uri
};
return changeData;
}
private convertCellModelToNotebookCell(cells: ICellModel | ICellModel[]): sqlops.nb.NotebookCell[] {
let notebookCells: sqlops.nb.NotebookCell[] = [];
if (Array.isArray(cells)) {
for (let cell of cells) {
notebookCells.push({
uri: cell.cellUri,
contents: {
cell_type: cell.cellType,
execution_count: undefined,
metadata: {
language: cell.language
},
source: undefined
}
});
}
}
else {
notebookCells.push({
uri: cells.cellUri,
contents: {
cell_type: cells.cellType,
execution_count: undefined,
metadata: {
language: cells.language
},
source: undefined
}
});
}
return notebookCells;
}
}

View File

@@ -432,10 +432,10 @@ export function createApiFactory(
return extHostNotebookDocumentsAndEditors.getAllEditors();
},
get onDidOpenNotebookDocument() {
return extHostNotebook.onDidOpenNotebookDocument;
return extHostNotebookDocumentsAndEditors.onDidOpenNotebookDocument;
},
get onDidChangeNotebookCell() {
return extHostNotebook.onDidChangeNotebookCell;
return extHostNotebookDocumentsAndEditors.onDidChangeNotebookCell;
},
showNotebookDocument(uri: vscode.Uri, showOptions: sqlops.nb.NotebookShowOptions) {
return extHostNotebookDocumentsAndEditors.showNotebookDocument(uri, showOptions);

View File

@@ -797,6 +797,14 @@ export interface INotebookModelAddedData {
uri: UriComponents;
providerId: string;
isDirty: boolean;
cells: sqlops.nb.NotebookCell[];
}
export interface INotebookModelChangedData {
uri: UriComponents;
providerId: string;
isDirty: boolean;
cells: sqlops.nb.NotebookCell[];
}
export interface INotebookEditorAddData {
@@ -815,6 +823,7 @@ export interface INotebookShowOptions {
export interface ExtHostNotebookDocumentsAndEditorsShape {
$acceptDocumentsAndEditorsDelta(delta: INotebookDocumentsAndEditorsDelta): void;
$acceptModelChanged(strURL: UriComponents, e: INotebookModelChangedData);
}
export interface MainThreadNotebookDocumentsAndEditorsShape extends IDisposable {

View File

@@ -8,7 +8,7 @@
import { nb, IConnectionProfile } from 'sqlops';
import { Event, Emitter } from 'vs/base/common/event';
import { INotebookModel, ICellModel, IClientSession, IDefaultConnection } from 'sql/parts/notebook/models/modelInterfaces';
import { INotebookModel, ICellModel, IClientSession, IDefaultConnection, NotebookContentChange } from 'sql/parts/notebook/models/modelInterfaces';
import { NotebookChangeType, CellType } from 'sql/parts/notebook/models/contracts';
import { INotebookManager } from 'sql/services/notebook/notebookService';
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
@@ -44,6 +44,9 @@ export class NotebookModelStub implements INotebookModel {
get contextsChanged(): Event<void> {
throw new Error('method not implemented.');
}
get contentChanged(): Event<NotebookContentChange> {
throw new Error('method not implemented.');
}
get specs(): nb.IAllKernels {
throw new Error('method not implemented.');
}

View File

@@ -93,7 +93,7 @@ describe('Cell Model', function (): void {
let cellData: nb.ICellContents = {
cell_type: CellTypes.Code,
source: 'print(\'1\')',
metadata: { language: 'python'},
metadata: { },
execution_count: 1
};
@@ -105,6 +105,22 @@ describe('Cell Model', function (): void {
let cell = factory.createCell(cellData, { notebook: notebookModel, isTrusted: false });
should(cell.language).equal('scala');
});
it('Should keep cell language as python if cell has language override', async function (): Promise<void> {
let cellData: nb.ICellContents = {
cell_type: CellTypes.Code,
source: 'print(\'1\')',
metadata: { language: 'python'},
execution_count: 1
};
let notebookModel = new NotebookModelStub({
name: 'scala',
version: '',
mimetype: ''
});
let cell = factory.createCell(cellData, { notebook: notebookModel, isTrusted: false });
should(cell.language).equal('python');
});
it('Should set cell language to python if no language defined', async function (): Promise<void> {
let cellData: nb.ICellContents = {
@@ -127,7 +143,7 @@ describe('Cell Model', function (): void {
let cellData: nb.ICellContents = {
cell_type: CellTypes.Code,
source: 'std::cout << "hello world";',
metadata: { language: 'python'},
metadata: { },
execution_count: 1
};
@@ -144,7 +160,7 @@ describe('Cell Model', function (): void {
let cellData: nb.ICellContents = {
cell_type: CellTypes.Code,
source: 'print(\'1\')',
metadata: { language: 'python'},
metadata: { },
execution_count: 1
};

View File

@@ -24,7 +24,7 @@ export function resolveCommonProperties(commit: string, version: string, machine
result['sessionID'] = '';
// __GDPR__COMMON__ "commitHash" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
result['commitHash'] = commit;
result['commitHash'] = '';
// __GDPR__COMMON__ "version" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
result['version'] = version;
// __GDPR__COMMON__ "common.platformVersion" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }

View File

@@ -29,7 +29,8 @@ import { coalesce } from 'vs/base/common/arrays';
import { isCodeEditor, isDiffEditor, ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser';
import { IEditorGroupView, IEditorOpeningEvent, EditorGroupsServiceImpl, EditorServiceImpl } from 'vs/workbench/browser/parts/editor/editor';
import { IUriDisplayService } from 'vs/platform/uriDisplay/common/uriDisplay';
import { convertEditorInput } from 'sql/parts/common/customInputConverter';
//{{ SQL CARBON EDIT }}
import { convertEditorInput, getFileMode } from 'sql/parts/common/customInputConverter';
type ICachedEditorInput = ResourceEditorInput | IFileEditorInput | DataUriEditorInput;
@@ -67,7 +68,7 @@ export class EditorService extends Disposable implements EditorServiceImpl {
@IInstantiationService private instantiationService: IInstantiationService,
@IUriDisplayService private uriDisplayService: IUriDisplayService,
@IFileService private fileService: IFileService,
@IConfigurationService private configurationService: IConfigurationService
@IConfigurationService private configurationService: IConfigurationService,
) {
super();
@@ -495,9 +496,11 @@ export class EditorService extends Disposable implements EditorServiceImpl {
const untitledInput = <IUntitledResourceInput>input;
if (!untitledInput.resource || typeof untitledInput.filePath === 'string' || (untitledInput.resource instanceof URI && untitledInput.resource.scheme === Schemas.untitled)) {
// {{SQL CARBON EDIT}}
let mode: string = getFileMode( this.instantiationService, untitledInput.resource);
return convertEditorInput(this.untitledEditorService.createOrGet(
untitledInput.filePath ? URI.file(untitledInput.filePath) : untitledInput.resource,
'sql',
mode,
untitledInput.contents,
untitledInput.encoding
), undefined, this.instantiationService);