From 3616c8e4248b600da816fc119fc86235b4a0c72f Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Wed, 13 Mar 2019 15:04:54 +0800 Subject: [PATCH 1/4] Add 'pull-blockly-translations' task --- gulp/build.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gulp/build.js b/gulp/build.js index acad976030..7439507e9b 100644 --- a/gulp/build.js +++ b/gulp/build.js @@ -60,6 +60,7 @@ gulp.task( 'copy-binary-style-css', 'copy-binary-style-img', 'copy-js', + 'pull-blockly-translations', done => { genHtml(true); done(); @@ -77,6 +78,7 @@ gulp.task( 'copy-jquery-img', 'copy-binary-style-css', 'copy-binary-style-img', - 'copy-js' + 'copy-js', + 'pull-blockly-translations' ) ); From 13a41836f42ac2f415fdd1defd46f4d289c5ecc5 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Wed, 13 Mar 2019 15:05:16 +0800 Subject: [PATCH 2/4] Create logic for pulling translations --- gulp/i18n.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gulp/i18n.js b/gulp/i18n.js index 88101a98e1..1837e8ddac 100644 --- a/gulp/i18n.js +++ b/gulp/i18n.js @@ -1,8 +1,10 @@ -const gulp = require('gulp'); +const del = require('del'); const fs = require('fs'); +const gulp = require('gulp'); const hash = require('sha1'); -const del = require('del'); const paths = require('vinyl-paths'); +const remoteSrc = require('gulp-remote-src'); +const rename = require('gulp-rename'); const scanner = require('i18next-scanner'); require('./static'); @@ -77,3 +79,16 @@ gulp.task( .pipe(gulp.dest('./')) ) ); + +gulp.task( + 'pull-blockly-translations', + gulp.series(done => { + const blocklyLanguages = ['en', 'de', 'id', 'it', 'vi', 'pl', 'ru', 'pt', 'es', 'fr', 'zh-hans', 'zh-hant']; + remoteSrc(blocklyLanguages.map(lang => `${lang}.js?_=${Date.now()}`), { + base: 'https://blockly-demo.appspot.com/static/msg/js/', + }) + .pipe(rename(path => (path.extname = '.js'))) + .pipe(gulp.dest('www/translations')); + done(); + }) +); From b43e84494e482c3cff697231857e585ef8d3b321 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Wed, 13 Mar 2019 15:05:54 +0800 Subject: [PATCH 3/4] Update translation location to no longer use appspot --- src/botPage/view/blockly/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index c16b058cdb..a4fc3583d5 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -144,7 +144,7 @@ const addBlocklyTranslation = () => { lang = 'zh-hant'; } return new Promise(resolve => { - $.getScript(`https://blockly-demo.appspot.com/static/msg/js/${lang}.js`, resolve); + $.getScript(`translations/${lang}.js`, resolve); }); }; const onresize = () => { From 17ac692d56e6da83654bc4c70f85f0714a0a3a63 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Wed, 13 Mar 2019 15:06:58 +0800 Subject: [PATCH 4/4] Update package.json (gulp-remote-src) and package-lock.json --- package-lock.json | 120 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 121 insertions(+) diff --git a/package-lock.json b/package-lock.json index 159c491185..3cd00a5495 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3271,6 +3271,12 @@ "webidl-conversions": "^4.0.2" } }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, "duplexer2": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", @@ -4186,6 +4192,29 @@ "resolved": "https://registry.npmjs.org/event-emitter-es6/-/event-emitter-es6-1.1.5.tgz", "integrity": "sha1-75UxGy4Xqjm+djsDHOSvfunLeEk=" }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + }, + "dependencies": { + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + } + } + }, "events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", @@ -5214,6 +5243,12 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, "fs-extra": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", @@ -6897,6 +6932,48 @@ "through2": "^2.0.1" } }, + "gulp-remote-src": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/gulp-remote-src/-/gulp-remote-src-0.4.4.tgz", + "integrity": "sha512-mo7lGgZmNXyTbcUzfjSnUVkx1pnqqiwv/pPaIrYdTO77hq0WNTxXLAzQdoYOnyJ0mfVLNmNl9AGqWLiAzTPMMA==", + "dev": true, + "requires": { + "event-stream": "3.3.4", + "node.extend": "~1.1.2", + "request": "^2.88.0", + "through2": "~2.0.3", + "vinyl": "~2.0.1" + }, + "dependencies": { + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "vinyl": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.0.2.tgz", + "integrity": "sha1-CjcT2NTpIhxY8QyhbAEWyeJe2nw=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "is-stream": "^1.1.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } + } + }, "gulp-rename": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz", @@ -7659,6 +7736,12 @@ "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", "dev": true }, + "is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "dev": true + }, "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", @@ -10671,6 +10754,16 @@ } } }, + "node.extend": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.8.tgz", + "integrity": "sha512-L/dvEBwyg3UowwqOUTyDsGBU6kjBQOpOhshio9V3i3BMPv5YUb9+mWNN8MK0IbWqT0AqaTSONZf0aTuMMahWgA==", + "dev": true, + "requires": { + "has": "^1.0.3", + "is": "^3.2.1" + } + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -11357,6 +11450,15 @@ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", "dev": true }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -13432,6 +13534,15 @@ "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", "dev": true }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -13547,6 +13658,15 @@ "readable-stream": "^2.0.2" } }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", diff --git a/package.json b/package.json index 625c0e4dc1..fe40d7ee35 100644 --- a/package.json +++ b/package.json @@ -100,6 +100,7 @@ "gulp-connect": "^5.0.0", "gulp-mustache": "^4.1.0", "gulp-open": "^3.0.1", + "gulp-remote-src": "^0.4.4", "gulp-rename": "^1.2.2", "gulp-rev": "^8.1.1", "gulp-sass": "^3.1.0",