Fixes#5912 : handling of the conference 2021 translation updates.
Testing:
* run `./bin/tx-push-www`:
* output shows what would run with the --execute flag.
* look for `tx-push-src` wtih resource name 'conference-index-2021-l10njson', for the conference 2021 view.
DO NOT RUN THE SCRIPT WITH `--execute`
Steps to land this PR:
1. rename the resource on transifex: `conference-2021-index-l10njson` to `conference-index-2021-l10njson` so that we don't lose any current translations.
2. merge the PR. Nightly update-translations job will execute the script.
3. rename or remove [conference-2021-index-l10njson](https://github.com/LLK/scratch-l10n/tree/master/www/scratch-website.conference-2021-index-l10njson) in scratch-l10n.
When the name of the view in `routes.json` does not match the name of the resource in transifex there needs to be a mapping added to the script that generates translations. _Note: the resource name in transifex is usually based on the name of the source file in the `views` directory. Usually the name of the view in the routes file matches._
Since `routes.json` is a JSON file that does not support comments there’s no way to add a warning to the file when someone is adding a route.
The sympton was the message that there were no translations for ‘vernier’ or ‘embed’ when running translate. The `vernier` route is actually the `gdxfor` view, and `embed` is just another version of `preview`
async.auto / async.waterfall now take the callback as the last argument in functions with dependencies.
Async is modularized so eachLimit can be required specifically
start to depend on `scratch-l10n`
So far only the supported locales is used.
There is one small difference between scratch-l10n and the `languages.json` that was removed.
languages was:
`{locale: ‘languagename’, …}` key value pairs.
l10n exports:
`{locale: {name: ‘languagename’},…}
That required an additional change to the language chooser.
* detect `embed` in the URL
* initialize GUI in embed mode if detected
* match `embed` in the project page route
* add fastly config rules to redirect `/projects/embed/:id` to `/projects/:id/embed`
set-cookie causes the cache to not cache the page. Since we’re not trying to track the user beyond, we don’t want to try resetting the cookie again with the same info
This fixes an issue in compilation by upgrading node-sass to v4.6, and also upgrades express in the process.
Callback added to `writeFile` in `get-localized-urls` in order to avoid a deprecation warning during `make translations`.
* Add error checking and testing for translations. Also make build-locales quieter if there are no problems.
* Allow build with broken translations (to allow development), but fail test so that broken translations don't get merged or deployed