@@ -92,10 +92,7 @@ const BUNDLED_FILE_HEADER = [
9292 ' *--------------------------------------------------------*/'
9393] . join ( '\n' ) ;
9494
95- var languages = [ 'chs' , 'cht' , 'jpn' , 'kor' , 'deu' , 'fra' , 'esn' , 'rus' , 'ita' ] ;
96- if ( process . env . VSCODE_QUALITY !== 'stable' ) {
97- languages = languages . concat ( [ 'ptb' , 'hun' , 'trk' ] ) ; // Add languages requested by the community to non-stable builds
98- }
95+ const languages = i18n . defaultLanguages . concat ( process . env . VSCODE_QUALITY !== 'stable' ? i18n . extraLanguages : [ ] ) ;
9996
10097gulp . task ( 'clean-optimized-vscode' , util . rimraf ( 'out-vscode' ) ) ;
10198gulp . task ( 'optimize-vscode' , [ 'clean-optimized-vscode' , 'compile-build' , 'compile-extensions-build' ] , common . optimizeTask ( {
@@ -105,7 +102,7 @@ gulp.task('optimize-vscode', ['clean-optimized-vscode', 'compile-build', 'compil
105102 loaderConfig : common . loaderConfig ( nodeModules ) ,
106103 header : BUNDLED_FILE_HEADER ,
107104 out : 'out-vscode' ,
108- languages : languages
105+ languages : languages ,
109106} ) ) ;
110107
111108
@@ -382,53 +379,68 @@ gulp.task('vscode-linux-x64-min', ['minify-vscode', 'clean-vscode-linux-x64'], p
382379gulp . task ( 'vscode-linux-arm-min' , [ 'minify-vscode' , 'clean-vscode-linux-arm' ] , packageTask ( 'linux' , 'arm' , { minified : true } ) ) ;
383380
384381// Transifex Localizations
385- const vscodeLanguages = [
386- 'zh-hans' ,
387- 'zh-hant' ,
388- 'ja' ,
389- 'ko' ,
390- 'de' ,
391- 'fr' ,
392- 'es' ,
393- 'ru' ,
394- 'it' ,
395- 'pt-br' ,
396- 'hu' ,
397- 'tr'
398- ] ;
399- const setupDefaultLanguages = [
400- 'zh-hans' ,
401- 'zh-hant' ,
402- 'ko'
403- ] ;
382+
383+ const innoSetupConfig = {
384+ 'zh-cn' : { codePage : 'CP936' , defaultInfo : { name : 'Simplified Chinese' , id : '$0804' , } } ,
385+ 'zh-tw' : { codePage : 'CP950' , defaultInfo : { name : 'Traditional Chinese' , id : '$0404' } } ,
386+ 'ko' : { codePage : 'CP949' , defaultInfo : { name : 'Korean' , id : '$0412' } } ,
387+ 'ja' : { codePage : 'CP932' } ,
388+ 'de' : { codePage : 'CP1252' } ,
389+ 'fr' : { codePage : 'CP1252' } ,
390+ 'es' : { codePage : 'CP1252' } ,
391+ 'ru' : { codePage : 'CP1251' } ,
392+ 'it' : { codePage : 'CP1252' } ,
393+ 'pt-br' : { codePage : 'CP1252' } ,
394+ 'hu' : { codePage : 'CP1250' } ,
395+ 'tr' : { codePage : 'CP1254' }
396+ } ;
404397
405398const apiHostname = process . env . TRANSIFEX_API_URL ;
406399const apiName = process . env . TRANSIFEX_API_NAME ;
407400const apiToken = process . env . TRANSIFEX_API_TOKEN ;
408401
409402gulp . task ( 'vscode-translations-push' , [ 'optimize-vscode' ] , function ( ) {
410403 const pathToMetadata = './out-vscode/nls.metadata.json' ;
411- const pathToExtensions = './extensions/**/*.nls.json ' ;
404+ const pathToExtensions = './extensions/*' ;
412405 const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}' ;
413406
414407 return es . merge (
415- gulp . src ( pathToMetadata ) . pipe ( i18n . prepareXlfFiles ( ) ) ,
416- gulp . src ( pathToSetup ) . pipe ( i18n . prepareXlfFiles ( ) ) ,
417- gulp . src ( pathToExtensions ) . pipe ( i18n . prepareXlfFiles ( 'vscode-extensions' ) )
408+ gulp . src ( pathToMetadata ) . pipe ( i18n . createXlfFilesForCoreBundle ( ) ) ,
409+ gulp . src ( pathToSetup ) . pipe ( i18n . createXlfFilesForIsl ( ) ) ,
410+ gulp . src ( pathToExtensions ) . pipe ( i18n . createXlfFilesForExtensions ( ) )
418411 ) . pipe ( i18n . pushXlfFiles ( apiHostname , apiName , apiToken ) ) ;
419412} ) ;
420413
421- gulp . task ( 'vscode-translations-pull' , function ( ) {
414+ gulp . task ( 'vscode-translations-push-test' , function ( ) {
415+ const pathToMetadata = './out-vscode/nls.metadata.json' ;
416+ const pathToExtensions = './extensions/*' ;
417+ const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}' ;
418+
422419 return es . merge (
423- i18n . pullXlfFiles ( 'vscode-editor' , apiHostname , apiName , apiToken , vscodeLanguages ) ,
424- i18n . pullXlfFiles ( 'vscode-workbench' , apiHostname , apiName , apiToken , vscodeLanguages ) ,
425- i18n . pullXlfFiles ( 'vscode-extensions' , apiHostname , apiName , apiToken , vscodeLanguages ) ,
426- i18n . pullXlfFiles ( 'vscode-setup' , apiHostname , apiName , apiToken , setupDefaultLanguages )
427- ) . pipe ( vfs . dest ( '../vscode-localization' ) ) ;
420+ gulp . src ( pathToMetadata ) . pipe ( i18n . createXlfFilesForCoreBundle ( ) ) ,
421+ gulp . src ( pathToSetup ) . pipe ( i18n . createXlfFilesForIsl ( ) ) ,
422+ gulp . src ( pathToExtensions ) . pipe ( i18n . createXlfFilesForExtensions ( ) )
423+ ) . pipe ( vfs . dest ( '../vscode-transifex-input' ) ) ;
424+ } ) ;
425+
426+ gulp . task ( 'vscode-translations-pull' , function ( ) {
427+ [ ...i18n . defaultLanguages , ...i18n . extraLanguages ] . forEach ( language => {
428+ i18n . pullBuildXlfFiles ( apiHostname , apiName , apiToken , language ) . pipe ( vfs . dest ( `../vscode-localization/${ language . id } /build` ) ) ;
429+
430+ let includeDefault = ! ! innoSetupConfig [ language . id ] . defaultInfo ;
431+ i18n . pullSetupXlfFiles ( apiHostname , apiName , apiToken , language , includeDefault ) . pipe ( vfs . dest ( `../vscode-localization/${ language . id } /setup` ) ) ;
432+ } ) ;
428433} ) ;
429434
430435gulp . task ( 'vscode-translations-import' , function ( ) {
431- return gulp . src ( '../vscode-localization/**/*.xlf' ) . pipe ( i18n . prepareJsonFiles ( ) ) . pipe ( vfs . dest ( './i18n' ) ) ;
436+ [ ...i18n . defaultLanguages , ...i18n . extraLanguages ] . forEach ( language => {
437+ gulp . src ( `../vscode-localization/${ language . id } /build/*/*.xlf` )
438+ . pipe ( i18n . prepareI18nFiles ( language ) )
439+ . pipe ( vfs . dest ( `./i18n/${ language . folderName } ` ) ) ;
440+ gulp . src ( `../vscode-localization/${ language . id } /setup/*/*.xlf` )
441+ . pipe ( i18n . prepareIslFiles ( language , innoSetupConfig [ language . id ] ) )
442+ . pipe ( vfs . dest ( `./build/win32/i18n` ) ) ;
443+ } ) ;
432444} ) ;
433445
434446// Sourcemaps
0 commit comments