diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 89a911050f970..2c075a35d1708 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -6,6 +6,7 @@ 'use strict'; const gulp = require('gulp'); +const merge = require('gulp-merge-json'); const fs = require('fs'); const os = require('os'); const cp = require('child_process'); @@ -393,6 +394,8 @@ BUILD_TARGETS.forEach(buildTarget => { } }); +// #region nls + const innoSetupConfig = { 'zh-cn': { codePage: 'CP936', defaultInfo: { name: 'Simplified Chinese', id: '$0804', } }, 'zh-tw': { codePage: 'CP950', defaultInfo: { name: 'Traditional Chinese', id: '$0404' } }, @@ -408,46 +411,23 @@ const innoSetupConfig = { 'tr': { codePage: 'CP1254' } }; -// Transifex Localizations - -const apiHostname = process.env.TRANSIFEX_API_URL; -const apiName = process.env.TRANSIFEX_API_NAME; -const apiToken = process.env.TRANSIFEX_API_TOKEN; - -gulp.task(task.define( - 'vscode-translations-push', - task.series( - compileBuildTask, - compileExtensionsBuildTask, - optimizeVSCodeTask, - function () { - const pathToMetadata = './out-vscode/nls.metadata.json'; - const pathToExtensions = '.build/extensions/*'; - const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}'; - - return es.merge( - gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()), - gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()), - gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions()) - ).pipe(i18n.findObsoleteResources(apiHostname, apiName, apiToken) - ).pipe(i18n.pushXlfFiles(apiHostname, apiName, apiToken)); - } - ) -)); - gulp.task(task.define( 'vscode-translations-export', task.series( - compileBuildTask, + core, compileExtensionsBuildTask, - optimizeVSCodeTask, function () { const pathToMetadata = './out-vscode/nls.metadata.json'; + const pathToRehWebMetadata = './out-vscode-reh-web/nls.metadata.json'; const pathToExtensions = '.build/extensions/*'; const pathToSetup = 'build/win32/i18n/messages.en.isl'; return es.merge( - gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()), + gulp.src([pathToRehWebMetadata]).pipe(merge({ + fileName: 'nls.metadata.json', + jsonSpace: '', + concatArrays: true + })).pipe(i18n.createXlfFilesForCoreBundle()), gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()), gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions()) ).pipe(vfs.dest('../vscode-translations-export')); @@ -455,13 +435,6 @@ gulp.task(task.define( ) )); -gulp.task('vscode-translations-pull', function () { - return es.merge([...i18n.defaultLanguages, ...i18n.extraLanguages].map(language => { - const includeDefault = !!innoSetupConfig[language.id].defaultInfo; - return i18n.pullSetupXlfFiles(apiHostname, apiName, apiToken, language, includeDefault).pipe(vfs.dest(`../vscode-translations-import/${language.id}/setup`)); - })); -}); - gulp.task('vscode-translations-import', function () { const options = minimist(process.argv.slice(2), { string: 'location', @@ -476,3 +449,5 @@ gulp.task('vscode-translations-import', function () { .pipe(vfs.dest(`./build/win32/i18n`)); })); }); + +// #endregion diff --git a/build/lib/i18n.js b/build/lib/i18n.js index 13de16ce9a018..b97da8b9fbe21 100644 --- a/build/lib/i18n.js +++ b/build/lib/i18n.js @@ -491,7 +491,7 @@ function processNlsFiles(opts) { }); } exports.processNlsFiles = processNlsFiles; -const editorProject = 'vscode-editor', workbenchProject = 'vscode-workbench', extensionsProject = 'vscode-extensions', setupProject = 'vscode-setup'; +const editorProject = 'vscode-editor', workbenchProject = 'vscode-workbench', extensionsProject = 'vscode-extensions', setupProject = 'vscode-setup', serverProject = 'vscode-server'; function getResource(sourceFile) { let resource; if (/^vs\/platform/.test(sourceFile)) { @@ -509,6 +509,9 @@ function getResource(sourceFile) { else if (/^vs\/code/.test(sourceFile)) { return { name: 'vs/code', project: workbenchProject }; } + else if (/^vs\/server/.test(sourceFile)) { + return { name: 'vs/server', project: serverProject }; + } else if (/^vs\/workbench\/contrib/.test(sourceFile)) { resource = sourceFile.split('/', 4).join('/'); return { name: resource, project: workbenchProject }; diff --git a/build/lib/i18n.ts b/build/lib/i18n.ts index 05b0634120b80..20c1dc93f999d 100644 --- a/build/lib/i18n.ts +++ b/build/lib/i18n.ts @@ -611,7 +611,8 @@ export function processNlsFiles(opts: { fileHeader: string; languages: Language[ const editorProject: string = 'vscode-editor', workbenchProject: string = 'vscode-workbench', extensionsProject: string = 'vscode-extensions', - setupProject: string = 'vscode-setup'; + setupProject: string = 'vscode-setup', + serverProject: string = 'vscode-server'; export function getResource(sourceFile: string): Resource { let resource: string; @@ -626,6 +627,8 @@ export function getResource(sourceFile: string): Resource { return { name: 'vs/base', project: editorProject }; } else if (/^vs\/code/.test(sourceFile)) { return { name: 'vs/code', project: workbenchProject }; + } else if (/^vs\/server/.test(sourceFile)) { + return { name: 'vs/server', project: serverProject }; } else if (/^vs\/workbench\/contrib/.test(sourceFile)) { resource = sourceFile.split('/', 4).join('/'); return { name: resource, project: workbenchProject };