VS Code merge to df8fe74bd55313de0dd2303bc47a4aab0ca56b0e (#17979)

* Merge from vscode 504f934659740e9d41501cad9f162b54d7745ad9

* delete unused folders

* distro

* Bump build node version

* update chokidar

* FIx hygiene errors

* distro

* Fix extension lint issues

* Remove strict-vscode

* Add copyright header exemptions

* Bump vscode-extension-telemetry to fix webpacking issue with zone.js

* distro

* Fix failing tests (revert marked.js back to current one until we decide to update)

* Skip searchmodel test

* Fix mac build

* temp debug script loading

* Try disabling coverage

* log error too

* Revert "log error too"

This reverts commit af0183e5d4ab458fdf44b88fbfab9908d090526f.

* Revert "temp debug script loading"

This reverts commit 3d687d541c76db2c5b55626c78ae448d3c25089c.

* Add comments explaining coverage disabling

* Fix ansi_up loading issue

* Merge latest from ads

* Use newer option

* Fix compile

* add debug logging warn

* Always log stack

* log more

* undo debug

* Update to use correct base path (+cleanup)

* distro

* fix compile errors

* Remove strict-vscode

* Fix sql editors not showing

* Show db dropdown input & fix styling

* Fix more info in gallery

* Fix gallery asset requests

* Delete unused workflow

* Fix tapable resolutions for smoke test compile error

* Fix smoke compile

* Disable crash reporting

* Disable interactive

Co-authored-by: ADS Merger <karlb@microsoft.com>
This commit is contained in:
Charles Gagnon
2022-01-06 09:06:56 -08:00
committed by GitHub
co-authored by ADS Merger
parent fd2736b6a6
commit 2bc6a0cd01
2099 changed files with 79520 additions and 43813 deletions
+2 -1
View File
@@ -1,6 +1,6 @@
Name: @@NAME@@
Version: @@VERSION@@
Release: @@RELEASE@@.el8
Release: @@RELEASE@@.el7
Summary: Code editing. Redefined.
Group: Development/Tools
Vendor: Microsoft Corporation
@@ -65,6 +65,7 @@ update-mime-database /usr/share/mime &> /dev/null || :
%files
%defattr(-,root,root)
%attr(4755, root, root) /usr/share/@@NAME@@/chrome-sandbox
/usr/share/@@NAME@@/
/usr/share/applications/@@NAME@@.desktop
+2 -2
View File
@@ -55,14 +55,14 @@ parts:
apps:
@@NAME@@:
command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@
command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ --no-sandbox
common-id: @@NAME@@.desktop
environment:
DISABLE_WAYLAND: 1
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
url-handler:
command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ --open-url
command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ --open-url --no-sandbox
environment:
DISABLE_WAYLAND: 1
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
@@ -3057,4 +3057,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16433,4 +16433,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16433,4 +16433,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3057,4 +3057,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16415,4 +16415,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3057,4 +3057,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16415,4 +16415,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16433,4 +16433,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16433,4 +16433,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16433,4 +16433,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+1 -1
View File
@@ -16415,4 +16415,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -16415,4 +16415,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -3063,4 +3063,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
@@ -16433,4 +16433,4 @@
</Item>
</Item>
</Item>
</LCX>
</LCX>
+55 -28
View File
@@ -2,7 +2,7 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// @ts-check
@@ -37,7 +37,7 @@ const ALLOWED_CORS_ORIGINS = [
'http://127.0.0.1:8080',
];
const WEB_PLAYGROUND_VERSION = '0.0.10';
const WEB_PLAYGROUND_VERSION = '0.0.12';
const args = minimist(process.argv, {
boolean: [
@@ -53,7 +53,9 @@ const args = minimist(process.argv, {
'port',
'local_port',
'extension',
'github-auth'
'extensionId',
'github-auth',
'open-file'
],
});
@@ -69,6 +71,8 @@ if (args.help) {
' --local_port Local port override\n' +
' --secondary-port Secondary port\n' +
' --extension Path of an extension to include\n' +
' --extensionId Id of an extension to include\n' +
' --open-file uri of the file to open. Also support selections in the file. Eg: scheme://authority/path#L1:2-L10:3\n' +
' --github-auth Github authentication token\n' +
' --verbose Print out more information\n' +
' --help\n' +
@@ -169,23 +173,28 @@ async function getCommandlineProvidedExtensionInfos() {
const locations = {};
let extensionArg = args['extension'];
if (!extensionArg) {
let extensionIdArg = args['extensionId'];
if (!extensionArg && !extensionIdArg) {
return { extensions, locations };
}
const extensionPaths = Array.isArray(extensionArg) ? extensionArg : [extensionArg];
await Promise.all(extensionPaths.map(async extensionPath => {
extensionPath = path.resolve(process.cwd(), extensionPath);
const packageJSON = await getExtensionPackageJSON(extensionPath);
if (packageJSON) {
const extensionId = `${packageJSON.publisher}.${packageJSON.name}`;
extensions.push({
packageJSON,
extensionLocation: { scheme: SCHEME, authority: AUTHORITY, path: `/extension/${extensionId}` }
});
locations[extensionId] = extensionPath;
}
}));
if (extensionArg) {
const extensionPaths = Array.isArray(extensionArg) ? extensionArg : [extensionArg];
await Promise.all(extensionPaths.map(async extensionPath => {
extensionPath = path.resolve(process.cwd(), extensionPath);
const packageJSON = await getExtensionPackageJSON(extensionPath);
if (packageJSON) {
const extensionId = `${packageJSON.publisher}.${packageJSON.name}`;
extensions.push({ scheme: SCHEME, authority: AUTHORITY, path: `/extension/${extensionId}` });
locations[extensionId] = extensionPath;
}
}));
}
if (extensionIdArg) {
extensions.push(...(Array.isArray(extensionIdArg) ? extensionIdArg : [extensionIdArg]));
}
return { extensions, locations };
}
@@ -198,13 +207,6 @@ async function getExtensionPackageJSON(extensionPath) {
if (packageJSON.main && !packageJSON.browser) {
return; // unsupported
}
const packageNLSPath = path.join(extensionPath, 'package.nls.json');
const packageNLSExists = await exists(packageNLSPath);
if (packageNLSExists) {
packageJSON = extensions.translatePackageJSON(packageJSON, packageNLSPath); // temporary, until fixed in core
}
return packageJSON;
} catch (e) {
console.log(e);
@@ -397,7 +399,7 @@ async function handleRoot(req, res) {
}
const { extensions: builtInExtensions } = await builtInExtensionsPromise;
const { extensions: staticExtensions, locations: staticLocations } = await commandlineProvidedExtensionsPromise;
const { extensions: additionalBuiltinExtensions, locations: staticLocations } = await commandlineProvidedExtensionsPromise;
const dedupedBuiltInExtensions = [];
for (const builtInExtension of builtInExtensions) {
@@ -412,7 +414,7 @@ async function handleRoot(req, res) {
if (args.verbose) {
fancyLog(`${ansiColors.magenta('BuiltIn extensions')}: ${dedupedBuiltInExtensions.map(e => path.basename(e.extensionPath)).join(', ')}`);
fancyLog(`${ansiColors.magenta('Additional extensions')}: ${staticExtensions.map(e => path.basename(e.extensionLocation.path)).join(', ') || 'None'}`);
fancyLog(`${ansiColors.magenta('Additional extensions')}: ${additionalBuiltinExtensions.map(e => typeof e === 'string' ? e : path.basename(e.path)).join(', ') || 'None'}`);
}
const secondaryHost = (
@@ -420,10 +422,35 @@ async function handleRoot(req, res) {
? req.headers['host'].replace(':' + PORT, ':' + SECONDARY_PORT)
: `${HOST}:${SECONDARY_PORT}`
);
const openFileUrl = args['open-file'] ? url.parse(args['open-file'], true) : undefined;
let selection;
if (openFileUrl?.hash) {
const rangeMatch = /L(?<startLineNumber>\d+)(?::(?<startColumn>\d+))?((?:-L(?<endLineNumber>\d+))(?::(?<endColumn>\d+))?)?/.exec(openFileUrl.hash);
if (rangeMatch?.groups) {
const { startLineNumber, startColumn, endLineNumber, endColumn } = rangeMatch.groups;
const start = { line: parseInt(startLineNumber), column: startColumn ? (parseInt(startColumn) || 1) : 1 };
const end = endLineNumber ? { line: parseInt(endLineNumber), column: endColumn ? (parseInt(endColumn) || 1) : 1 } : start;
selection = { start, end }
}
}
const webConfigJSON = {
folderUri: folderUri,
staticExtensions,
webWorkerExtensionHostIframeSrc: `${SCHEME}://${secondaryHost}/static/out/vs/workbench/services/extensions/worker/httpWebWorkerExtensionHostIframe.html`
additionalBuiltinExtensions,
webWorkerExtensionHostIframeSrc: `${SCHEME}://${secondaryHost}/static/out/vs/workbench/services/extensions/worker/httpWebWorkerExtensionHostIframe.html`,
defaultLayout: openFileUrl ? {
force: true,
editors: [{
uri: {
scheme: openFileUrl.protocol.substring(0, openFileUrl.protocol.length - 1),
authority: openFileUrl.host,
path: openFileUrl.path,
},
selection,
}]
} : undefined,
settingsSyncOptions: args['enable-sync'] ? {
enabled: true
} : undefined
};
if (args['wrap-iframe']) {
webConfigJSON._wrapWebWorkerExtHostInIframe = true;
+3 -2
View File
@@ -4,5 +4,6 @@
ShowNameOnSquare150x150Logo="on"
Square150x150Logo="resources\app\resources\win32\code_150x150.png"
Square70x70Logo="resources\app\resources\win32\code_70x70.png"
ForegroundText="light" />
</Application>
ForegroundText="light"
ShortDisplayName="Code - OSS" />
</Application>
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env sh
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Licensed under the Source EULA. See License.txt in the project root for license information.
if [ "$VSCODE_WSL_DEBUG_INFO" = true ]; then
set -x
fi
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">Erstellen</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">Die Datei "{0}" ist bereits im Zielordner "{1}" vorhanden.
<target state="translated">Die Datei "{0}" ist bereits im Zielordner "{1}" vorhanden.
Die Datei wurde in "{2}" umbenannt, um Datenverlust zu verhindern.</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Fehler: {1}</target>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -5966,4 +5966,4 @@ Error: {1}</source>
<source xml:lang="en">Show Getting Started</source>
</trans-unit>
</body></file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">Crear</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">El archivo {0} ya existe en la carpeta de destino {1}.
<target state="translated">El archivo {0} ya existe en la carpeta de destino {1}.
Se ha cambiado el nombre del archivo a {2} para evitar la pérdida de datos.</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Error: {1}</target>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">Créer</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">Le fichier {0} existe déjà dans le dossier de destination {1}
<target state="translated">Le fichier {0} existe déjà dans le dossier de destination {1}
Le fichier a été renommé en {2} pour éviter toute perte de données.</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Erreur : {1}</target>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">Crea</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">Il file {0} esiste già nella cartella di destinazione {1}
<target state="translated">Il file {0} esiste già nella cartella di destinazione {1}
Il file è stato rinominato in {2} per evitare la perdita di dati.</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Errore: {1}</target>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">作成</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">ファイル {0} は、ターゲット フォルダー {1} に既に存在しています
<target state="translated">ファイル {0} は、ターゲット フォルダー {1} に既に存在しています
データの損失を防ぐために、ファイルの名前が {2} に変更されました。</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Error: {1}</source>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">만들기</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">대상 폴더 {1}에 {0} 파일이 이미 있습니다.
<target state="translated">대상 폴더 {1}에 {0} 파일이 이미 있습니다.
데이터 손실을 방지하기 위해 파일 이름이 {2}(으)로 바뀌었습니다.</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+2 -2
View File
@@ -7166,7 +7166,7 @@ Error: {1}</source>
<trans-unit id="insightsDidNotFindResolvedFile">
<source xml:lang="en">Could not find query file at any of the following paths :
{0}</source>
<target state="translated">다음 경로에서 쿼리 파일을 찾을 수 없습니다.
<target state="translated">다음 경로에서 쿼리 파일을 찾을 수 없습니다.
{0}</target>
</trans-unit>
</body>
@@ -8306,4 +8306,4 @@ Error: {1}</source>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">Criar</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">O arquivo {0} já existe na pasta de destino {1}
<target state="translated">O arquivo {0} já existe na pasta de destino {1}
O arquivo foi renomeado para {2} para impedir a perda de dados.</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8305,4 +8305,4 @@ Erro: {1}</target>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+2 -2
View File
@@ -87,7 +87,7 @@
<target state="translated">Создать</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">Файл {0} уже существует в конечной папке {1}.
Имя файла было изменено на {2} для предотвращения потери данных.</target>
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Error: {1}</source>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+2 -2
View File
@@ -1193,7 +1193,7 @@
<source xml:lang="en">The cluster context information specified by config file: {0} and cluster context: {1} is no longer valid. Error is:
{2}
Do you want to update this information?</source>
<target state="translated">配置文件指定的群集上下文信息: {0} 和群集上下文: {1} 不再有效。错误为:
<target state="translated">配置文件指定的群集上下文信息: {0} 和群集上下文: {1} 不再有效。错误为:
&gt;{2}
是否要更新此信息?</target>
</trans-unit>
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+2 -2
View File
@@ -87,7 +87,7 @@
<target state="translated">创建</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">文件 {0} 已在目标文件夹 {1} 中
此文件已重命名为 {2},以防数据丢失。</target>
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Error: {1}</source>
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+2 -2
View File
@@ -1193,7 +1193,7 @@
<source xml:lang="en">The cluster context information specified by config file: {0} and cluster context: {1} is no longer valid. Error is:
{2}
Do you want to update this information?</source>
<target state="translated">組態檔所指定的叢集內容資訊: {0} 和叢集內容: {1} 不再有效。錯誤為:
<target state="translated">組態檔所指定的叢集內容資訊: {0} 和叢集內容: {1} 不再有效。錯誤為:
{2}
您要更新此資訊嗎?</target>
</trans-unit>
@@ -2109,4 +2109,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+3 -3
View File
@@ -87,9 +87,9 @@
<target state="translated">建立</target>
</trans-unit>
<trans-unit id="duplicateFileError">
<source xml:lang="en">File {0} already exists in the destination folder {1}
<source xml:lang="en">File {0} already exists in the destination folder {1}
The file has been renamed to {2} to prevent data loss.</source>
<target state="translated">檔案 {0} 已存在於目的地資料夾 {1} 中
<target state="translated">檔案 {0} 已存在於目的地資料夾 {1} 中
檔案已重新命名為 {2},以避免資料遺失。</target>
</trans-unit>
<trans-unit id="editBookError">
@@ -1106,4 +1106,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
@@ -1356,4 +1356,4 @@
</trans-unit>
</body>
</file>
</xliff>
</xliff>
+1 -1
View File
@@ -8306,4 +8306,4 @@ Error: {1}</source>
</trans-unit>
</body>
</file>
</xliff>
</xliff>