From 1b7625affdcfaa49ea62c88600b6de1ceebb0f86 Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Sat, 29 Jun 2019 19:00:23 +0200 Subject: [PATCH] @ohif/i18n - Setup optional link to Locize translation, and script to pull and store translations --- extensions/ohif-i18n/.gitignore | 3 + extensions/ohif-i18n/package.json | 9 +- extensions/ohif-i18n/pullTranslations.sh | 4 + extensions/ohif-i18n/src/index.js | 130 ++- .../src/locales/{en => en-US}/Buttons.json | 65 +- .../src/locales/{en => en-US}/CineDialog.json | 10 +- .../src/locales/{en => en-US}/Common.json | 12 +- .../src/locales/{en => en-US}/Header.json | 6 +- .../{en => en-US}/MeasurementTable.json | 8 +- .../{en => en-US}/UserPreferencesModal.json | 6 +- .../src/locales/{en => en-US}/index.js | 8 +- .../ohif-i18n/src/locales/en/UK/Header.json | 3 - .../ohif-i18n/src/locales/en/UK/index.js | 7 - .../ohif-i18n/src/locales/en/US/Header.json | 3 - .../ohif-i18n/src/locales/en/US/index.js | 7 - .../ohif-i18n/src/locales/es/AR/Header.json | 3 - .../ohif-i18n/src/locales/es/AR/index.js | 7 - .../ohif-i18n/src/locales/es/Buttons.json | 68 +- .../ohif-i18n/src/locales/es/CineDialog.json | 10 +- .../ohif-i18n/src/locales/es/Common.json | 12 +- .../ohif-i18n/src/locales/es/Header.json | 6 +- .../ohif-i18n/src/locales/es/MX/Header.json | 3 - .../ohif-i18n/src/locales/es/MX/index.js | 7 - .../src/locales/es/MeasurementTable.json | 11 +- .../src/locales/es/UserPreferencesModal.json | 6 +- extensions/ohif-i18n/src/locales/es/index.js | 6 - extensions/ohif-i18n/src/locales/index.js | 8 +- .../ohif-i18n/src/locales/nl/Buttons.json | 6 + .../ohif-i18n/src/locales/nl/Common.json | 3 + .../ohif-i18n/src/locales/nl/Header.json | 7 + extensions/ohif-i18n/src/locales/nl/index.js | 11 + extensions/ohif-i18n/writeLocaleIndexFiles.js | 92 +++ extensions/ohif-i18n/yarn.lock | 766 +++++++++++++++++- public/config/netlify.js | 5 + public/config/public_dicomweb.js | 5 + 35 files changed, 1112 insertions(+), 211 deletions(-) create mode 100755 extensions/ohif-i18n/pullTranslations.sh rename extensions/ohif-i18n/src/locales/{en => en-US}/Buttons.json (93%) rename extensions/ohif-i18n/src/locales/{en => en-US}/CineDialog.json (75%) rename extensions/ohif-i18n/src/locales/{en => en-US}/Common.json (77%) mode change 100755 => 100644 rename extensions/ohif-i18n/src/locales/{en => en-US}/Header.json (67%) rename extensions/ohif-i18n/src/locales/{en => en-US}/MeasurementTable.json (81%) rename extensions/ohif-i18n/src/locales/{en => en-US}/UserPreferencesModal.json (54%) rename extensions/ohif-i18n/src/locales/{en => en-US}/index.js (79%) delete mode 100644 extensions/ohif-i18n/src/locales/en/UK/Header.json delete mode 100644 extensions/ohif-i18n/src/locales/en/UK/index.js delete mode 100644 extensions/ohif-i18n/src/locales/en/US/Header.json delete mode 100644 extensions/ohif-i18n/src/locales/en/US/index.js delete mode 100644 extensions/ohif-i18n/src/locales/es/AR/Header.json delete mode 100644 extensions/ohif-i18n/src/locales/es/AR/index.js mode change 100755 => 100644 extensions/ohif-i18n/src/locales/es/Common.json delete mode 100644 extensions/ohif-i18n/src/locales/es/MX/Header.json delete mode 100644 extensions/ohif-i18n/src/locales/es/MX/index.js create mode 100644 extensions/ohif-i18n/src/locales/nl/Buttons.json create mode 100644 extensions/ohif-i18n/src/locales/nl/Common.json create mode 100644 extensions/ohif-i18n/src/locales/nl/Header.json create mode 100644 extensions/ohif-i18n/src/locales/nl/index.js create mode 100644 extensions/ohif-i18n/writeLocaleIndexFiles.js diff --git a/extensions/ohif-i18n/.gitignore b/extensions/ohif-i18n/.gitignore index 2eda3696e..287b0df57 100644 --- a/extensions/ohif-i18n/.gitignore +++ b/extensions/ohif-i18n/.gitignore @@ -24,3 +24,6 @@ yarn-error.log* yalc.lock .yalc + +# Note: DO NOT include this file because it includes our API key +.locize \ No newline at end of file diff --git a/extensions/ohif-i18n/package.json b/extensions/ohif-i18n/package.json index 20ea72663..a7706b68b 100644 --- a/extensions/ohif-i18n/package.json +++ b/extensions/ohif-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/i18n", - "version": "0.1.1", + "version": "0.2.0", "description": "OHIF extension for internationalization", "author": "OHIF", "license": "MIT", @@ -14,7 +14,8 @@ }, "scripts": { "build": "rollup -c", - "prepublishOnly": "npm run build" + "prepublishOnly": "npm run build", + "pullTranslations": "./pullTranslations.sh" }, "peerDependencies": { "i18next": "^17.0.3", @@ -41,6 +42,7 @@ "i18next": "^15.1.3", "i18next-browser-languagedetector": "^3.0.1", "lint-staged": "^8.1.0", + "locize-cli": "^4.8.0", "prettier": "^1.15.3", "react": "^16.0.0", "react-dom": "^16.0.0", @@ -80,6 +82,9 @@ "dependencies": { "@babel/runtime": "^7.2.0", "classnames": "^2.2.6", + "i18next-locize-backend": "^2.0.0", + "locize-editor": "^2.0.0", + "locize-lastused": "^1.1.0", "rollup-plugin-json": "^4.0.0" } } diff --git a/extensions/ohif-i18n/pullTranslations.sh b/extensions/ohif-i18n/pullTranslations.sh new file mode 100755 index 000000000..e13243d45 --- /dev/null +++ b/extensions/ohif-i18n/pullTranslations.sh @@ -0,0 +1,4 @@ +rm -rf src/locales/ +cd src/locales/ +npx locize --config-path ../../.locize download --ver latest +node ./writeLocaleIndexFiles.js diff --git a/extensions/ohif-i18n/src/index.js b/extensions/ohif-i18n/src/index.js index 67e8f63a2..d7660dff6 100755 --- a/extensions/ohif-i18n/src/index.js +++ b/extensions/ohif-i18n/src/index.js @@ -1,9 +1,15 @@ import i18n from 'i18next'; +import Backend from 'i18next-locize-backend'; +import LastUsed from 'locize-lastused'; +import Editor from 'locize-editor'; +import LanguageDetector from 'i18next-browser-languagedetector'; import { initReactI18next } from 'react-i18next'; -import LngDetector from 'i18next-browser-languagedetector'; import customDebug from './debugger'; import pkg from '../package.json'; import { debugMode, detectionOptions } from './config'; + +// Note: The index.js files inside src/locales are dynamically generated +// by the pullTranslations.sh script import locales from './locales'; function addLocales(newLocales) { @@ -23,28 +29,106 @@ function addLocales(newLocales) { customDebug(resourceBundle, 'info'); } -function initI18n(detection = detectionOptions) { - i18n - .use(LngDetector) - .use(initReactI18next) - .init({ - resources: locales, - debug: debugMode, - keySeparator: false, - interpolation: { - escapeValue: false, - }, - detection, - fallbackNS: ['Common'], - defaultNS: 'Common', - react: { - wait: true, - }, - }) - .then(function(t) { - i18n.T = t; - customDebug(`T function available.`, 'info'); - }); +// Note: Developers can add the API key to use the in-context editor. +// DO NOT commit the API key +const config = window.config.i18n || {}; + +const locizeOptions = { + projectId: config.LOCIZE_PROJECTID, + apiKey: config.LOCIZE_API_KEY, + referenceLng: 'en-US', + fallbacklng: 'en-US', +}; + +const envUseLocize = !!config.USE_LOCIZE; +const envApiKeyAvailable = !!config.LOCIZE_API_KEY; + +function initI18n( + detection = detectionOptions, + useLocize = envUseLocize, + apiKeyAvailable = envApiKeyAvailable +) { + let initialized; + + if (useLocize) { + customDebug(`Using Locize for translation files`, 'info'); + initialized = i18n + // i18next-locize-backend + // loads translations from your project, saves new keys to it (saveMissing: true) + // https://github.com/locize/i18next-locize-backend + .use(Backend) + // locize-lastused + // sets a timestamp of last access on every translation segment on locize + // -> safely remove the ones not being touched for weeks/months + // https://github.com/locize/locize-lastused + .use(LastUsed) + // locize-editor + // InContext Editor of locize ?locize=true to show it + // https://github.com/locize/locize-editor + .use(Editor) + // detect user language + // learn more: https://github.com/i18next/i18next-browser-languageDetector + .use(LanguageDetector) + // pass the i18n instance to react-i18next. + .use(initReactI18next) + // init i18next + // for all options read: https://www.i18next.com/overview/configuration-options + .init({ + fallbackLng: 'en-US', + saveMissing: apiKeyAvailable, + debug: debugMode, + keySeparator: false, + interpolation: { + escapeValue: false, // not needed for react as it escapes by default + }, + detection, + backend: locizeOptions, + locizeLastUsed: locizeOptions, + editor: { + ...locizeOptions, + onEditorSaved: async (lng, ns) => { + // reload that namespace in given language + await i18n.reloadResources(lng, ns); + // trigger an event on i18n which triggers a rerender + // based on bindI18n below in react options + i18n.emit('editorSaved'); + }, + }, + react: { + useSuspense: false, // TODO: Was seeing weird errors without this + wait: true, + bindI18n: 'languageChanged editorSaved', + }, + }); + } else { + customDebug(`Using local translation files`, 'info'); + initialized = i18n + // detect user language + // learn more: https://github.com/i18next/i18next-browser-languageDetector + .use(LanguageDetector) + // pass the i18n instance to react-i18next. + .use(initReactI18next) + // init i18next + // for all options read: https://www.i18next.com/overview/configuration-options + .init({ + fallbackLng: 'en-US', + resources: locales, + debug: debugMode, + keySeparator: false, + interpolation: { + escapeValue: false, // not needed for react as it escapes by default + }, + detection, + react: { + wait: true, + }, + }); + } + + initialized.then(function(t) { + i18n.T = t; + customDebug(`T function available.`, 'info'); + }); } customDebug(`version ${pkg.version} loaded.`, 'info'); diff --git a/extensions/ohif-i18n/src/locales/en/Buttons.json b/extensions/ohif-i18n/src/locales/en-US/Buttons.json similarity index 93% rename from extensions/ohif-i18n/src/locales/en/Buttons.json rename to extensions/ohif-i18n/src/locales/en-US/Buttons.json index a41347ca1..21b38dc74 100644 --- a/extensions/ohif-i18n/src/locales/en/Buttons.json +++ b/extensions/ohif-i18n/src/locales/en-US/Buttons.json @@ -1,43 +1,42 @@ { - "Themes": "Themes", - "Previous": "$t(Common:Previous)", - "Next": "$t(Common:Next)", - "Play": "$t(Common:Play)", - "Stop": "$t(Common:Stop)", - "Layout": "$t(Common:Layout)", - "More": "$t(Common:More)", + "Acquired": "Acquired", + "Angle": "Angle", + "Axial": "Axial", + "Bidirectional": "Bidirectional", + "Brush": "Brush", + "CINE": "CINE", + "Cancel": "Cancel", + "Circle": "Circle", + "Clear": "Clear", + "Coronal": "Coronal", "Crosshairs": "Crosshairs", - "Magnify": "Magnify", - "ROI Window": "ROI Window", - "Probe": "Probe", "Ellipse": "Ellipse", - "Rectangle": "Rectangle", - "Invert": "Invert", - "Rotate Right": "Rotate Right", + "Elliptical": "Elliptical", "Flip H": "Flip H", "Flip V": "Flip V", - "Clear": "Clear", - "Brush": "Brush", - "Coronal": "Coronal", - "Stack Scroll": "Stack Scroll", - "Measurements": "Measurements", - "Zoom": "Zoom", - "Levels": "Levels", - "Pan": "Pan", - "Length": "Length", - "Angle": "Angle", - "Bidirectional": "Bidirectional", "Freehand": "Freehand", - "Elliptical": "Elliptical", - "Circle": "Circle", + "Invert": "Invert", + "Layout": "$t(Common:Layout)", + "Length": "Length", + "Levels": "Levels", + "Magnify": "Magnify", + "Manual": "Manual", + "Measurements": "Measurements", + "More": "$t(Common:More)", + "Next": "$t(Common:Next)", + "Pan": "Pan", + "Play": "$t(Common:Play)", + "Previous": "$t(Common:Previous)", + "Probe": "Probe", + "ROI Window": "ROI Window", "Rectangle": "Rectangle", "Reset": "$t(Common:Reset)", - "CINE": "CINE", - "Acquired": "Acquired", - "Sagittal": "Sagittal", - "Axial": "Axial", - "Manual": "Manual", - "Save": "Save", "Reset to Defaults": "$t(Common:Reset) to Defaults", - "Cancel": "Cancel" + "Rotate Right": "Rotate Right", + "Sagittal": "Sagittal", + "Save": "Save", + "Stack Scroll": "Stack Scroll", + "Stop": "$t(Common:Stop)", + "Themes": "Themes", + "Zoom": "Zoom" } diff --git a/extensions/ohif-i18n/src/locales/en/CineDialog.json b/extensions/ohif-i18n/src/locales/en-US/CineDialog.json similarity index 75% rename from extensions/ohif-i18n/src/locales/en/CineDialog.json rename to extensions/ohif-i18n/src/locales/en-US/CineDialog.json index 3e97830bd..a7c4f151e 100644 --- a/extensions/ohif-i18n/src/locales/en/CineDialog.json +++ b/extensions/ohif-i18n/src/locales/en-US/CineDialog.json @@ -1,8 +1,8 @@ { - "fps": "fps", - "Skip to first image": "Skip to first $t(Common:Image)", - "Previous image": "$t(Common:Previous) $t(Common:Image)", - "Play / Stop": "$t(Common:Play) / $t(Common:Stop)", "Next image": "$t(Common:Play) $t(Common:Image)", - "Skip to last image": "Skip, to last $t(Common:Image)" + "Play / Stop": "$t(Common:Play) / $t(Common:Stop)", + "Previous image": "$t(Common:Previous) $t(Common:Image)", + "Skip to first image": "Skip to first $t(Common:Image)", + "Skip to last image": "Skip, to last $t(Common:Image)", + "fps": "fps" } diff --git a/extensions/ohif-i18n/src/locales/en/Common.json b/extensions/ohif-i18n/src/locales/en-US/Common.json old mode 100755 new mode 100644 similarity index 77% rename from extensions/ohif-i18n/src/locales/en/Common.json rename to extensions/ohif-i18n/src/locales/en-US/Common.json index 42c203b0f..347fc6eb1 --- a/extensions/ohif-i18n/src/locales/en/Common.json +++ b/extensions/ohif-i18n/src/locales/en-US/Common.json @@ -1,10 +1,10 @@ { - "Reset": "Reset", - "Previous": "Previous", - "Next": "Next", - "Play": "Play", - "Stop": "Stop", + "Image": "Image", "Layout": "Layout", "More": "More", - "Image": "Image" + "Next": "Next", + "Play": "Play", + "Previous": "Previous", + "Reset": "Reset", + "Stop": "Stop" } diff --git a/extensions/ohif-i18n/src/locales/en/Header.json b/extensions/ohif-i18n/src/locales/en-US/Header.json similarity index 67% rename from extensions/ohif-i18n/src/locales/en/Header.json rename to extensions/ohif-i18n/src/locales/en-US/Header.json index c373fcb67..0e01b2e31 100644 --- a/extensions/ohif-i18n/src/locales/en/Header.json +++ b/extensions/ohif-i18n/src/locales/en-US/Header.json @@ -1,8 +1,8 @@ { + "About": "About", + "Back to Viewer": "Back to Viewer", "INVESTIGATIONAL USE ONLY": "INVESTIGATIONAL USE ONLY", "Options": "Options", - "About": "About", "Preferences": "Preferences", - "Study list": "Study list", - "Back to Viewer": "Back to Viewer" + "Study list": "Study list" } diff --git a/extensions/ohif-i18n/src/locales/en/MeasurementTable.json b/extensions/ohif-i18n/src/locales/en-US/MeasurementTable.json similarity index 81% rename from extensions/ohif-i18n/src/locales/en/MeasurementTable.json rename to extensions/ohif-i18n/src/locales/en-US/MeasurementTable.json index e42616335..9eb9b8d60 100644 --- a/extensions/ohif-i18n/src/locales/en/MeasurementTable.json +++ b/extensions/ohif-i18n/src/locales/en-US/MeasurementTable.json @@ -1,9 +1,9 @@ { "Criteria nonconformities": "Criteria nonconformities", - "Relabel": "Relabel", - "Description": "Description", "Delete": "Delete", - "Targets": "Targets", + "Description": "Description", + "MAX": "MAX", "NonTargets": "NonTargets", - "MAX": "MAX" + "Relabel": "Relabel", + "Targets": "Targets" } diff --git a/extensions/ohif-i18n/src/locales/en/UserPreferencesModal.json b/extensions/ohif-i18n/src/locales/en-US/UserPreferencesModal.json similarity index 54% rename from extensions/ohif-i18n/src/locales/en/UserPreferencesModal.json rename to extensions/ohif-i18n/src/locales/en-US/UserPreferencesModal.json index d7e792d2f..03c472717 100644 --- a/extensions/ohif-i18n/src/locales/en/UserPreferencesModal.json +++ b/extensions/ohif-i18n/src/locales/en-US/UserPreferencesModal.json @@ -1,6 +1,6 @@ { - "User Preferences": "User Preferences", - "Save": "$t(Buttons:Save)", + "Cancel": "$t(Buttons:Cancel)", "Reset to Defaults": "$t(Buttons:Reset to Defaults)", - "Cancel": "$t(Buttons:Cancel)" + "Save": "$t(Buttons:Save)", + "User Preferences": "User Preferences" } diff --git a/extensions/ohif-i18n/src/locales/en/index.js b/extensions/ohif-i18n/src/locales/en-US/index.js similarity index 79% rename from extensions/ohif-i18n/src/locales/en/index.js rename to extensions/ohif-i18n/src/locales/en-US/index.js index 1120ca059..b9447498d 100644 --- a/extensions/ohif-i18n/src/locales/en/index.js +++ b/extensions/ohif-i18n/src/locales/en-US/index.js @@ -5,12 +5,8 @@ import Header from './Header.json'; import MeasurementTable from './MeasurementTable.json'; import UserPreferencesModal from './UserPreferencesModal.json'; -/** Sublanguages */ -import en_US from './US'; -import en_UK from './UK'; - export default { - en: { + 'en-US': { Buttons, CineDialog, Common, @@ -18,6 +14,4 @@ export default { MeasurementTable, UserPreferencesModal, }, - ...en_US, - ...en_UK, }; diff --git a/extensions/ohif-i18n/src/locales/en/UK/Header.json b/extensions/ohif-i18n/src/locales/en/UK/Header.json deleted file mode 100644 index 499c29f88..000000000 --- a/extensions/ohif-i18n/src/locales/en/UK/Header.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "About": "Info" -} diff --git a/extensions/ohif-i18n/src/locales/en/UK/index.js b/extensions/ohif-i18n/src/locales/en/UK/index.js deleted file mode 100644 index a48a8aa49..000000000 --- a/extensions/ohif-i18n/src/locales/en/UK/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import Header from './Header.json'; - -export default { - 'en-UK': { - Header, - }, -}; diff --git a/extensions/ohif-i18n/src/locales/en/US/Header.json b/extensions/ohif-i18n/src/locales/en/US/Header.json deleted file mode 100644 index 473a3b4b8..000000000 --- a/extensions/ohif-i18n/src/locales/en/US/Header.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "About": "About" -} diff --git a/extensions/ohif-i18n/src/locales/en/US/index.js b/extensions/ohif-i18n/src/locales/en/US/index.js deleted file mode 100644 index 0c5d31be2..000000000 --- a/extensions/ohif-i18n/src/locales/en/US/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import Header from './Header.json'; - -export default { - 'en-US': { - Header, - }, -}; diff --git a/extensions/ohif-i18n/src/locales/es/AR/Header.json b/extensions/ohif-i18n/src/locales/es/AR/Header.json deleted file mode 100644 index ee4a3cc07..000000000 --- a/extensions/ohif-i18n/src/locales/es/AR/Header.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "INVESTIGATIONAL USE ONLY": "SOLO USO DE DESAROLLO" -} diff --git a/extensions/ohif-i18n/src/locales/es/AR/index.js b/extensions/ohif-i18n/src/locales/es/AR/index.js deleted file mode 100644 index a20c664eb..000000000 --- a/extensions/ohif-i18n/src/locales/es/AR/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import Header from './Header.json'; - -export default { - 'es-AR': { - Header, - }, -}; diff --git a/extensions/ohif-i18n/src/locales/es/Buttons.json b/extensions/ohif-i18n/src/locales/es/Buttons.json index 05a36cca0..b90945942 100644 --- a/extensions/ohif-i18n/src/locales/es/Buttons.json +++ b/extensions/ohif-i18n/src/locales/es/Buttons.json @@ -1,44 +1,42 @@ { - "Themes": "Temas", - "Previous": "$t(Common:Previous)", - "Next": "$t(Common:Next)", - "Play": "$t(Common:Play)", - "Stop": "$t(Common:Stop)", - "Layout": "$t(Common:Layout)", - "More": "$t(Common:More)", + "Acquired": "Acquired", + "Angle": "Ángulo", + "Axial": "Axial", + "Bidirectional": "Bidirectional", + "Brush": "Escoba", + "CINE": "CINE", + "Cancel": "Cancelar", + "Circle": "Circle", + "Clear": "Limpiar", + "Coronal": "Coronal", "Crosshairs": "Cruces", - "Magnify": "Lupa", - "ROI Window": "Ventana ROI", - "Probe": "Probar", "Ellipse": "Elipse", - "Rectangle": "Rectángulo", - "Invert": "Invertido", - "Rotate Right": "Rotar ->", + "Elliptical": "Elliptical", "Flip H": "Espejo Hor.", "Flip V": "Espejo Ver.", - "Clear": "Limpiar", - "Brush": "Escoba", - "Coronal": "Coronal", - "Stack Scroll": "Avance X slice", - "Measurements": "Medidas", - "Zoom": "Zoom", - "Levels": "Niveles", - "Pan": "Mover", - "Length": "Medición", - "Angle": "Ángulo", - "Bidirectional": "Bidirectional", "Freehand": "Freehand", - "Elliptical": "Elliptical", - "Circle": "Circle", - "Reset": "$t(Common:Reset)", - "CINE": "CINE", - "Acquired": "Acquired", - "Sagittal": "Sagittal", - "Axial": "Axial", + "Invert": "Invertido", + "Layout": "$t(Common:Layout)", + "Length": "Medición", + "Levels": "Niveles", + "Magnify": "Lupa", "Manual": "Manual", - "Save": "Guardar", + "Measurements": "Medidas", + "More": "$t(Common:More)", + "Next": "$t(Common:Next)", + "Pan": "Mover", + "Play": "$t(Common:Play)", + "Previous": "$t(Common:Previous)", + "Probe": "Probar", + "ROI Window": "Ventana ROI", + "Rectangle": "Rectángulo", + "Reset": "$t(Common:Reset)", "Reset to Defaults": "$t(Common:reset) por defectos", - "Cancel": "Cancelar", - "2D MPR": "2D MPR", - "WWWC": "WWWC" + "Rotate Right": "Rotar ->", + "Sagittal": "Sagittal", + "Save": "Guardar", + "Stack Scroll": "Avance X slice", + "Stop": "$t(Common:Stop)", + "Themes": "Temas", + "Zoom": "Zoom" } diff --git a/extensions/ohif-i18n/src/locales/es/CineDialog.json b/extensions/ohif-i18n/src/locales/es/CineDialog.json index 83c311ddc..e084594ee 100644 --- a/extensions/ohif-i18n/src/locales/es/CineDialog.json +++ b/extensions/ohif-i18n/src/locales/es/CineDialog.json @@ -1,8 +1,8 @@ { - "fps": "fps", - "Skip to first image": "Avanza para la primera $t(Common:Image)", - "Previous image": "$t(Common:Previous) $t(Common:Image)", - "Play / Stop": "$t(Common:Play) / $t(Common:Stop)", "Next image": "$t(Common:Play) $t(Common:Image)", - "Skip to last image": "Pular para la ultima $t(Common:Image)" + "Play / Stop": "$t(Common:Play) / $t(Common:Stop)", + "Previous image": "$t(Common:Previous) $t(Common:Image)", + "Skip to first image": "Avanza para la primera $t(Common:Image)", + "Skip to last image": "Pular para la ultima $t(Common:Image)", + "fps": "fps" } diff --git a/extensions/ohif-i18n/src/locales/es/Common.json b/extensions/ohif-i18n/src/locales/es/Common.json old mode 100755 new mode 100644 index eced9087d..9fe60743b --- a/extensions/ohif-i18n/src/locales/es/Common.json +++ b/extensions/ohif-i18n/src/locales/es/Common.json @@ -1,10 +1,10 @@ { - "Reset": "Reiniciar", - "Previous": "Anterior", - "Next": "Próximo", - "Play": "Play", - "Stop": "Stop", + "Image": "Imagen", "Layout": "Esquema", "More": "Más", - "Image": "Imagen" + "Next": "Próximo", + "Play": "Play", + "Previous": "Anterior", + "Reset": "Reiniciar", + "Stop": "Stop" } diff --git a/extensions/ohif-i18n/src/locales/es/Header.json b/extensions/ohif-i18n/src/locales/es/Header.json index dc1e7277b..0aa0a9482 100644 --- a/extensions/ohif-i18n/src/locales/es/Header.json +++ b/extensions/ohif-i18n/src/locales/es/Header.json @@ -1,8 +1,8 @@ { + "About": "Sobre", + "Back to Viewer": "Back to Viewer", "INVESTIGATIONAL USE ONLY": "SOLO USO DE INVESTIGACIÓN", "Options": "Opciones", - "About": "Sobre", "Preferences": "Preferencias", - "Study list": "Lista de estudio", - "Back to Viewer": "Back to Viewer" + "Study list": "Lista de estudio" } diff --git a/extensions/ohif-i18n/src/locales/es/MX/Header.json b/extensions/ohif-i18n/src/locales/es/MX/Header.json deleted file mode 100644 index 07556df87..000000000 --- a/extensions/ohif-i18n/src/locales/es/MX/Header.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "INVESTIGATIONAL USE ONLY": "SOLO USO DE INVESTIGACIÓN" -} diff --git a/extensions/ohif-i18n/src/locales/es/MX/index.js b/extensions/ohif-i18n/src/locales/es/MX/index.js deleted file mode 100644 index 75710c120..000000000 --- a/extensions/ohif-i18n/src/locales/es/MX/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import Header from './Header.json'; - -export default { - 'es-MX': { - Header, - }, -}; diff --git a/extensions/ohif-i18n/src/locales/es/MeasurementTable.json b/extensions/ohif-i18n/src/locales/es/MeasurementTable.json index 8fdebcb02..d753cdb9e 100644 --- a/extensions/ohif-i18n/src/locales/es/MeasurementTable.json +++ b/extensions/ohif-i18n/src/locales/es/MeasurementTable.json @@ -1,12 +1,9 @@ { "Criteria nonconformities": "Criterios de no conformidades", - "Relabel": "Reetiquetar", - "Description": "Descripción", "Delete": "Borrar", - "Targets": "Objetivos", - "NonTargets": "NonObjetivos", + "Description": "Descripción", "MAX": "máximo", - "Chest Wall Posterior": "Pared pectoral posterior", - "Bone Extremity": "Extremidad ósea", - "Measurements": "Mediciones" + "NonTargets": "NonObjetivos", + "Relabel": "Reetiquetar", + "Targets": "Objetivos" } diff --git a/extensions/ohif-i18n/src/locales/es/UserPreferencesModal.json b/extensions/ohif-i18n/src/locales/es/UserPreferencesModal.json index aa3b4f442..8defb1c75 100644 --- a/extensions/ohif-i18n/src/locales/es/UserPreferencesModal.json +++ b/extensions/ohif-i18n/src/locales/es/UserPreferencesModal.json @@ -1,6 +1,6 @@ { - "User Preferences": "Preferencias de usuario", - "Save": "$t(Buttons:Save)", + "Cancel": "$t(Buttons:Cancel)", "Reset to Defaults": "$t(Buttons:Reset to Defaults)", - "Cancel": "$t(Buttons:Cancel)" + "Save": "$t(Buttons:Save)", + "User Preferences": "Preferencias de usuario" } diff --git a/extensions/ohif-i18n/src/locales/es/index.js b/extensions/ohif-i18n/src/locales/es/index.js index 087ecf059..6f7029c95 100644 --- a/extensions/ohif-i18n/src/locales/es/index.js +++ b/extensions/ohif-i18n/src/locales/es/index.js @@ -5,10 +5,6 @@ import Header from './Header.json'; import MeasurementTable from './MeasurementTable.json'; import UserPreferencesModal from './UserPreferencesModal.json'; -/** Sublanguages */ -import es_AR from './AR'; -import es_MX from './MX'; - export default { es: { Buttons, @@ -18,6 +14,4 @@ export default { MeasurementTable, UserPreferencesModal, }, - ...es_AR, - ...es_MX, }; diff --git a/extensions/ohif-i18n/src/locales/index.js b/extensions/ohif-i18n/src/locales/index.js index c88ee74d8..a5f5703dc 100644 --- a/extensions/ohif-i18n/src/locales/index.js +++ b/extensions/ohif-i18n/src/locales/index.js @@ -1,7 +1,9 @@ -import en from './en'; -import es from './es'; +import en_US from './en-US/'; +import es from './es/'; +import nl from './nl/'; export default { - ...en, + ...en_US, ...es, + ...nl, }; diff --git a/extensions/ohif-i18n/src/locales/nl/Buttons.json b/extensions/ohif-i18n/src/locales/nl/Buttons.json new file mode 100644 index 000000000..0443cffd1 --- /dev/null +++ b/extensions/ohif-i18n/src/locales/nl/Buttons.json @@ -0,0 +1,6 @@ +{ + "Circle": "Cirkel", + "More": "Meer", + "Pan": "Pan", + "Zoom": "Inzoomen" +} diff --git a/extensions/ohif-i18n/src/locales/nl/Common.json b/extensions/ohif-i18n/src/locales/nl/Common.json new file mode 100644 index 000000000..d35764a7f --- /dev/null +++ b/extensions/ohif-i18n/src/locales/nl/Common.json @@ -0,0 +1,3 @@ +{ + "More": "Meer" +} diff --git a/extensions/ohif-i18n/src/locales/nl/Header.json b/extensions/ohif-i18n/src/locales/nl/Header.json new file mode 100644 index 000000000..38995e7b6 --- /dev/null +++ b/extensions/ohif-i18n/src/locales/nl/Header.json @@ -0,0 +1,7 @@ +{ + "About": "Over", + "INVESTIGATIONAL USE ONLY": "ALLEEN VOOR ONDERZOEK", + "Options": "Opties", + "Preferences": "Voorkeuren", + "Study list": "Studie Overzicht" +} diff --git a/extensions/ohif-i18n/src/locales/nl/index.js b/extensions/ohif-i18n/src/locales/nl/index.js new file mode 100644 index 000000000..de42f561e --- /dev/null +++ b/extensions/ohif-i18n/src/locales/nl/index.js @@ -0,0 +1,11 @@ +import Buttons from './Buttons.json'; +import Common from './Common.json'; +import Header from './Header.json'; + +export default { + nl: { + Buttons, + Common, + Header, + }, +}; diff --git a/extensions/ohif-i18n/writeLocaleIndexFiles.js b/extensions/ohif-i18n/writeLocaleIndexFiles.js new file mode 100644 index 000000000..e23e4eab6 --- /dev/null +++ b/extensions/ohif-i18n/writeLocaleIndexFiles.js @@ -0,0 +1,92 @@ +const path = require('path'); +const fs = require('fs'); + +const directoryPath = path.join(__dirname, 'src', 'locales'); +const { lstatSync, readdirSync } = require('fs'); +const { join } = require('path'); + +const isDirectory = source => lstatSync(source).isDirectory(); +const getDirectories = source => + readdirSync(source) + .map(name => join(source, name)) + .filter(isDirectory); + +const getJSONFiles = source => + readdirSync(source) + .filter(name => name.includes('.json')) + .map(name => join(source, name)) + .filter(a => !isDirectory(a)); + +const directories = getDirectories(directoryPath); + +function writeFile(filepath, name, content) { + fs.writeFile(path.join(filepath, name), content, err => { + if (err) throw err; + }); +} + +// For each language directory +const languages = []; +directories.forEach(directory => { + const language = path.basename(directory); + languages.push(language); + const name = 'index.js'; + + // Create one file (index.js) inside the language folder + // For each namespace + let content = ''; + + const files = getJSONFiles(directory); + const namespaces = files.map(file => path.basename(file, '.json')); + + files.forEach(file => { + const filename = path.basename(file); + const namespace = path.basename(file, '.json'); + + content += `import ${namespace} from "./${filename}";\n`; + }); + + content += '\n'; + let exportLines = `export default { \n '${language}': {\n`; + namespaces.forEach(namespace => { + exportLines += ` ${namespace},\n`; + }); + exportLines += ' }\n};'; + + content += exportLines; + + // If the file {namespace}.json is present, + // create a file to import the namespace and + // export all of the namespaces for the language + // e.g. + // import namespace from './{namespace}.json'; + // export { namespace1, namespace2, ... } + writeFile(directory, name, content); +}); + +let fileContent = ''; +const languageVariables = languages.map(language => { + const languageVariable = language.replace('-', '_'); + + fileContent += `import ${languageVariable} from './${language}/';\n`; + + return languageVariable; +}); + +fileContent += '\n'; + +fileContent += 'export default {\n'; +languageVariables.forEach(language => { + fileContent += ` ...${language},\n`; +}); + +fileContent += '};'; + +// Create one file (index.js) inside the locales folder +// which exports each of the languages +// e.g. +// import language1 from './{language1}/' +// import language2 from './{language2}/' +// +// export { language1, language2 } +writeFile(directoryPath, 'index.js', fileContent); diff --git a/extensions/ohif-i18n/yarn.lock b/extensions/ohif-i18n/yarn.lock index f0427dcc2..95adda0af 100644 --- a/extensions/ohif-i18n/yarn.lock +++ b/extensions/ohif-i18n/yarn.lock @@ -680,7 +680,7 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12" integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ== @@ -720,6 +720,11 @@ lodash "^4.17.11" to-fast-properties "^2.0.0" +"@js.properties/properties@0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@js.properties/properties/-/properties-0.4.0.tgz#3f98b784ab6fe9b31fd3c1637fedbfa2ff320185" + integrity sha512-c24GP6HAx4hP/h7OVom037hi1LBQXH2SmOwOLpAc9u4C1Ofph1W4npWMZTmEfFM+hMB0ExSkG3MF2DONx9ystA== + "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" @@ -766,7 +771,15 @@ acorn@^6.0.7, acorn@^6.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== -ajv@^6.5.3, ajv@^6.9.1: +adler-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" + integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU= + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +ajv@^6.5.3, ajv@^6.5.5, ajv@^6.9.1: version "6.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== @@ -781,6 +794,14 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= +android-string-resource@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/android-string-resource/-/android-string-resource-1.2.1.tgz#0ffd98ada664b39e283a1964a27817b4b630c933" + integrity sha512-5ScubR/D7QQWMIuf4mnMglir6JhDvmS7KM//N+17KfHOe9ycKHg34RirIntNMQHgOuwy65Jhv9JlMY9hzMhzqA== + dependencies: + rdotjson "1.0.1" + xml2js "0.4.19" + ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -879,6 +900,18 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -889,11 +922,33 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" + integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== + dependencies: + lodash "^4.17.11" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + babel-eslint@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" @@ -924,6 +979,13 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -936,6 +998,11 @@ bl@~0.8.1: dependencies: readable-stream "~1.0.26" +bluebird@^3.5.3: + version "3.5.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -1119,6 +1186,21 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000971: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13" integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g== +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +cfb@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.1.1.tgz#7f399f4c541954715d0ced9b1cdecc52b554290a" + integrity sha512-eov9L63s9/uMiiDvWCiTYbK3AcM5x5AYo4NL1q75G0AZBrD2X0+Lm9hubk94qy1MJP7pYFuM6/xn0h3grAvBXQ== + dependencies: + adler-32 "~1.2.0" + commander "^2.16.0" + crc-32 "~1.2.0" + printj "~1.1.2" + chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1144,6 +1226,28 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +cheerio@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" + integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash.assignin "^4.0.9" + lodash.bind "^4.1.4" + lodash.defaults "^4.0.1" + lodash.filter "^4.4.0" + lodash.flatten "^4.2.0" + lodash.foreach "^4.3.0" + lodash.map "^4.4.0" + lodash.merge "^4.4.0" + lodash.pick "^4.2.1" + lodash.reduce "^4.4.0" + lodash.reject "^4.4.0" + lodash.some "^4.4.0" + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -1216,6 +1320,14 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +codepage@~1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99" + integrity sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k= + dependencies: + commander "~2.14.1" + exit-on-epipe "~1.0.1" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -1257,11 +1369,33 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" -commander@^2.14.1, commander@^2.9.0: +colors@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" + integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.20.0, commander@^2.14.1, commander@^2.16.0, commander@^2.19.0, commander@^2.9.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== +commander@~2.14.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw== + +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -1320,7 +1454,7 @@ core-js-pure@3.1.3: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.3.tgz#4c90752d5b9471f641514f3728f51c1e0783d0b5" integrity sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA== -core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -1345,6 +1479,14 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.0.7, cosmiconfig@^5.2.0: js-yaml "^3.13.1" parse-json "^4.0.0" +crc-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -1452,6 +1594,16 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" +css-select@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + css-selector-tokenizer@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" @@ -1487,7 +1639,7 @@ css-url-regex@^1.1.0: resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= -css-what@^2.1.2: +css-what@2.1, css-what@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== @@ -1577,6 +1729,18 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" +csvjson@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/csvjson/-/csvjson-5.1.0.tgz#f055660824ebfb44dc089d901267fdc5d9e8414a" + integrity sha512-OqALQHA0k2rEGluOWikwFq5qtkRUDyoWP2u0UJy8uFjFx5FPMjPzx7D2Hn2KjBLpc8jkGrT9HDNgTUfopDlqVg== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" @@ -1666,6 +1830,11 @@ del@^3.0.0: pify "^3.0.0" rimraf "^2.2.8" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -1674,6 +1843,11 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" +diff@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -1698,7 +1872,7 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -dom-serializer@0: +dom-serializer@0, dom-serializer@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== @@ -1706,12 +1880,27 @@ dom-serializer@0: domelementtype "^1.3.0" entities "^1.1.1" -domelementtype@1, domelementtype@^1.3.0: +domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== -domutils@^1.7.0: +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -1726,6 +1915,14 @@ dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + electron-to-chromium@^1.3.137: version "1.3.143" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.143.tgz#8b2a631ab75157aa53d0c2933275643b99ef580b" @@ -1759,6 +1956,13 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +encoding@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + dependencies: + iconv-lite "~0.4.13" + end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" @@ -1766,7 +1970,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1: +entities@^1.1.1, entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -2014,6 +2218,11 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -2042,6 +2251,11 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + external-editor@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" @@ -2065,6 +2279,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -2147,6 +2371,25 @@ flat-cache@^1.2.1: rimraf "~2.6.2" write "^0.2.1" +flat@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +fluent-syntax@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/fluent-syntax/-/fluent-syntax-0.8.1.tgz#02eddd4861b453e614e071016dea3d4395b27f6e" + integrity sha512-Y1VoEAOO0kcLXVpfUcmuYeOY8X6OPdABZm3m9/rpXuDmemOceWKpnh9aQyHLkM8VRlrSk66/87AFNXccWu4VOg== + +fluent_conv@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fluent_conv/-/fluent_conv-1.1.1.tgz#5190aefc33bbd54d346a0d7caf9165d57d25af7d" + integrity sha512-wLKA0QxmEV2DlZqA6YhYXBxEPlLRsv7QkUhrRGf3oV2ez4l5TiylUgJeniMPhdr3S3CyLi0ejuBLK4b6tSpHKw== + dependencies: + fluent-syntax "0.8.1" + fn-name@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" @@ -2162,6 +2405,25 @@ foreach@~2.0.1: resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +frac@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" + integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -2229,6 +2491,22 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +gettext-parser@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/gettext-parser/-/gettext-parser-3.1.1.tgz#f2455f7cc402087a0ee5289fcca204702b7fe240" + integrity sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ== + dependencies: + encoding "^0.1.12" + readable-stream "^3.2.0" + safe-buffer "^5.1.2" + glob@^7.0.3, glob@^7.1.2, glob@^7.1.3: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -2262,6 +2540,19 @@ graceful-fs@^4.1.2: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -2379,6 +2670,27 @@ html-parse-stringify2@2.0.1: dependencies: void-elements "^2.0.1" +htmlparser2@^3.9.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + husky@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0" @@ -2400,6 +2712,25 @@ i18next-browser-languagedetector@^3.0.1: resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-3.0.1.tgz#a47c43176e8412c91e808afb7c6eb5367649aa8e" integrity sha512-WFjPLNPWl62uu07AHY2g+KsC9qz0tyMq+OZEB/H7N58YKL/JLiCz9U709gaR20Mule/Ppn+uyfVx5REJJjn1HA== +i18next-conv@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/i18next-conv/-/i18next-conv-9.0.0.tgz#af10bc11676eaafc1e8087c1f49208aada6fb8d0" + integrity sha512-PMc4M6N6os2RXFVCmbEsWBFzt7K3UTMGnv3pRbOT3wymPpaO6sOGEaCQU2longLNvC1r3O7kVP4dtjI0zWW3Gg== + dependencies: + bluebird "^3.5.3" + chalk "^2.4.2" + commander "^2.19.0" + gettext-parser "^3.1.0" + mkdirp "^0.5.1" + node-gettext "^2.0.0" + +i18next-locize-backend@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/i18next-locize-backend/-/i18next-locize-backend-2.0.0.tgz#972e3568d84048e4e4da8287b996d46cb121288d" + integrity sha512-Ach/RPYC40qsCBA9wscw25qN46sNqQZXDVqtiX0p+GwrswQw7fkzXdT6K70i9Lg46wRUixblFnbLWQ7xegGYrw== + dependencies: + "@babel/runtime" "^7.4.5" + i18next@^15.1.3: version "15.1.3" resolved "https://registry.yarnpkg.com/i18next/-/i18next-15.1.3.tgz#f1984cbee0e3cb00cff9008b037264289ce8840a" @@ -2407,7 +2738,7 @@ i18next@^15.1.3: dependencies: "@babel/runtime" "^7.3.1" -iconv-lite@^0.4.24: +iconv-lite@^0.4.13, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -2497,6 +2828,11 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +ini@1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + inquirer@^6.1.0: version "6.3.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" @@ -2557,6 +2893,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" @@ -2741,6 +3082,11 @@ is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" @@ -2755,6 +3101,11 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -2797,6 +3148,11 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + js-levenshtein@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -2807,7 +3163,7 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.9.0: +js-yaml@3.13.1, js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.9.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -2815,6 +3171,11 @@ js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.9.0: argparse "^1.0.7" esprima "^4.0.0" +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -2835,11 +3196,21 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -2852,6 +3223,16 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + jsx-ast-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.1.0.tgz#0ee4e2c971fb9601c67b5641b71be80faecf0b36" @@ -2883,6 +3264,13 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +laravelphp@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/laravelphp/-/laravelphp-1.1.0.tgz#2664ed3640680f7ce14434a4ec0630435ffbe1df" + integrity sha512-nnQtmPrqfvfaXsrfZ4mKX/uFDtaeK8ZInyjVuJekp7vloeHpvAXw/Q7cLN4QMa+SB6KMT91dfq2q2BG0Xc8SMQ== + dependencies: + php-parser "3.0.0-prerelease.7" + level-blobs@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf" @@ -3087,16 +3475,126 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locize-cli@^4.8.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/locize-cli/-/locize-cli-4.8.0.tgz#60d156760239c561f55bfb0932ba93c9393107eb" + integrity sha512-8O29AgRTan7pl2hZAxLsfv+cNLfZqFxHyILkve+/UC+ahqh4vgmmdl/uXmKXYseVcsMNOHxsQ4KuW4VKJ6N7uw== + dependencies: + "@js.properties/properties" "0.4.0" + android-string-resource "1.2.1" + async "2.6.2" + colors "1.3.3" + commander "2.20.0" + csvjson "5.1.0" + diff "4.0.1" + flat "4.1.0" + fluent_conv "1.1.1" + i18next-conv "9.0.0" + ini "1.3.5" + js-yaml "3.13.1" + laravelphp "1.1.0" + lodash.clonedeep "4.5.0" + mkdirp "0.5.1" + request "2.88.0" + resx "1.2.0" + rimraf "2.6.3" + strings-file "0.0.5" + tmexchange "1.2.0" + xliff "4.3.1" + xlsx "0.14.3" + +locize-editor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locize-editor/-/locize-editor-2.0.0.tgz#3295e3a29950810bb273ca2c8eab2159a9ac30b9" + integrity sha512-EiYnuTV4p++nhCuriIcwngG0/09HDD7w9AZQCVdFvx5uTtjMidbdsH7ftrvmuyng/fqGdZWtMB9S7Lo6ix9BeQ== + dependencies: + "@babel/runtime" "^7.4.5" + +locize-lastused@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/locize-lastused/-/locize-lastused-1.1.0.tgz#f8fdb146faff2340ec8704115760cfb59e6dd8e3" + integrity sha512-5vaBRMPRzmrS28JLDLUjozgws173OFaWgQKpPFtjVF9dp3AXD7SrVOyPaIVPhsd6F1fPlZAlL0TBLqz/hm6ClQ== + +lodash.assignin@^4.0.9: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" + integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= + +lodash.bind@^4.1.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" + integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= +lodash.clonedeep@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.defaults@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.filter@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" + integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= + +lodash.flatten@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +lodash.foreach@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.map@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.merge@^4.4.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" + integrity sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ== + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.reduce@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" + integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= + +lodash.reject@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" + integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= + +lodash.some@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -3209,6 +3707,18 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@^2.3.1: version "2.4.3" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.3.tgz#229687331e86f68924e6cb59e1cdd937f18275fe" @@ -3254,7 +3764,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@0.5.1, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -3308,6 +3818,13 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-gettext@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-gettext/-/node-gettext-2.0.0.tgz#f1dc1237cdc546f51593da340304b8beba5b8525" + integrity sha1-8dwSN83FRvUVk9o0AwS4vrpbhSU= + dependencies: + lodash.get "^4.4.2" + node-releases@^1.1.21: version "1.1.22" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.22.tgz#d90cd5adc59ab9b0f377d4f532b09656399c88bf" @@ -3353,7 +3870,7 @@ npm-which@^3.0.1: npm-path "^2.0.2" which "^1.2.10" -nth-check@^1.0.2: +nth-check@^1.0.2, nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== @@ -3365,6 +3882,11 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3440,6 +3962,11 @@ object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" +obop@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/obop/-/obop-0.0.12.tgz#b0ec659f05a499a3f6e625287bb7817420f0f539" + integrity sha1-sOxlnwWkmaP25iUoe7eBdCDw9Tk= + octal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b" @@ -3616,6 +4143,16 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +php-parser@3.0.0-prerelease.7: + version "3.0.0-prerelease.7" + resolved "https://registry.yarnpkg.com/php-parser/-/php-parser-3.0.0-prerelease.7.tgz#1a90d55e43af69588042f6d5169d5d335af739e1" + integrity sha512-ePXNo4QDDL5SNF2d7r4mpZGWTfH38vLApdoqmPiIfbgBZE49s/oHO6hZyvQCWdRWSZ4qarFWrOD5G0EXolL20Q== + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4022,6 +4559,11 @@ prettier@^1.15.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.1.tgz#ed64b4e93e370cb8a25b9ef7fef3e4fd1c0995db" integrity sha512-TzGRNvuUSmPgwivDqkZ9tM/qTGW9hqDKWOE9YHiyQdixlKbv7kvEqsmDPrcHJTKwthU774TQwZXVtaQ/mMsvjg== +printj@~1.1.0, printj@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + private@^0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -4037,6 +4579,13 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== +process.argv@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/process.argv/-/process.argv-0.1.0.tgz#22192052587a0a92309f12b1e13717a17885d19e" + integrity sha1-IhkgUlh6CpIwnxKx4TcXoXiF0Z4= + dependencies: + obop "^0.0.12" + progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -4071,6 +4620,11 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +psl@^1.1.24: + version "1.1.33" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.33.tgz#5533d9384ca7aab86425198e10e8053ebfeab661" + integrity sha512-LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw== + public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -4091,6 +4645,11 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -4101,6 +4660,11 @@ q@^1.1.2: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -4116,6 +4680,15 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" +rdotjson@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rdotjson/-/rdotjson-1.0.1.tgz#35ef2d4e463a6c597c34fb20733ef30fdc50ce28" + integrity sha512-46iCd5JgOIfOSe+6BQIt3cT+faHhDHwYy3RjkV1b7mKwvIbXaVMhOj2giij8jYq0YeOHoCfIPnLH3aHZyzf2PQ== + dependencies: + cheerio "^0.22.0" + is-stream "^2.0.0" + process.argv "^0.1.0" + react-dom@^16.0.0: version "16.8.6" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" @@ -4198,6 +4771,15 @@ readable-stream@^2.2.2: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.1.1, readable-stream@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readable-stream@~1.0.26, readable-stream@~1.0.26-4: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -4305,6 +4887,32 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +request@2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-from-string@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" @@ -4345,6 +4953,13 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +resx@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/resx/-/resx-1.2.0.tgz#4495af993588b391abd6885f7627c3912c95b626" + integrity sha512-k7NKz85FxRTsaV1RflS0FLjTQOogyUL6rMiqTX/EpnfEYkyaD1naJTtrNQAdEfjBM4Ie0t8i8cRKPUfZOrQMzQ== + dependencies: + xml2js "0.4.19" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -4360,7 +4975,7 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@^2.2.8, rimraf@~2.6.2: +rimraf@2.6.3, rimraf@^2.2.8, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -4508,12 +5123,12 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -4723,6 +5338,28 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +ssf@~0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.10.2.tgz#65b2b4fcdfd967bc8e8383a41349009893115976" + integrity sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ== + dependencies: + frac "~1.1.2" + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -4782,6 +5419,13 @@ string-width@^3.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string_decoder@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + dependencies: + safe-buffer "~5.1.0" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -4803,6 +5447,13 @@ stringify-object@^3.2.2: is-obj "^1.0.1" is-regexp "^1.0.0" +strings-file@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/strings-file/-/strings-file-0.0.5.tgz#40386d44cd0359db71761d582e743f858334ce27" + integrity sha1-QDhtRM0DWdtxdh1YLnQ/hYM0zic= + dependencies: + iconv-lite "^0.4.13" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -4934,6 +5585,13 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +tmexchange@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tmexchange/-/tmexchange-1.2.0.tgz#c67877e61f3e8fac32b900e85c278650233d0605" + integrity sha512-AoD+a0o8Die6AS2alTMU7vERPXo3Qg8k1nFNnrVypJVmQL0nK/Dk3jf7eVh378vVHbnLbsbNs8VqyI4Sjmu+HA== + dependencies: + xml2js "0.4.19" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -4976,6 +5634,14 @@ toposort@^2.0.2: resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -4986,6 +5652,18 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -5076,7 +5754,7 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -5089,6 +5767,11 @@ util.promisify@~1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" +uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -5102,6 +5785,15 @@ vendors@^1.0.0: resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + void-elements@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" @@ -5139,6 +5831,46 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" +xliff@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/xliff/-/xliff-4.3.1.tgz#ae82d1c6283014aa7506c9957bcb3f95ed1ce505" + integrity sha512-SERrOPuKZ/5XyEiv+cXgIjidQq4vp6HYS0yBS2GwC1TDJiREFaUIin3qg4OBlD6jdFWdPOMwkXGackAvgZ6+LQ== + dependencies: + xml-js "1.6.11" + +xlsx@0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.14.3.tgz#09b7534d95ba8f9aca2c462d0f6603e080202224" + integrity sha512-wgt9zGKeFp4WIQdPx+j2sNNbDYRbJ+M+uuFcS16pf2yLo/aKcG3RaD4xmS/LHT5rznc6V27NRwIXNWmxLj6eZw== + dependencies: + adler-32 "~1.2.0" + cfb "^1.1.0" + codepage "~1.14.0" + commander "~2.17.1" + crc-32 "~1.2.0" + exit-on-epipe "~1.0.1" + ssf "~0.10.2" + +xml-js@1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + xtend@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" diff --git a/public/config/netlify.js b/public/config/netlify.js index 49cd1e7e4..caaab22d6 100644 --- a/public/config/netlify.js +++ b/public/config/netlify.js @@ -65,4 +65,9 @@ window.config = { // ~ Cornerstone Tools { commandName: 'setZoomTool', label: 'Zoom', keys: ['z'] }, ], + i18n: { + LOCIZE_PROJECTID: 'a8da3f9a-e467-4dd6-af33-474d582a0294', + LOCIZE_API_KEY: null, // Developers can use this to do in-context editing. DO NOT COMMIT THIS KEY! + USE_LOCIZE: true + } }; diff --git a/public/config/public_dicomweb.js b/public/config/public_dicomweb.js index 1fa5659cf..1359bcdab 100644 --- a/public/config/public_dicomweb.js +++ b/public/config/public_dicomweb.js @@ -16,4 +16,9 @@ window.config = { }, ], }, + i18n: { + LOCIZE_PROJECTID: 'a8da3f9a-e467-4dd6-af33-474d582a0294', + LOCIZE_API_KEY: null, // Developers can use this to do in-context editing. DO NOT COMMIT THIS KEY! + USE_LOCIZE: false + } }