{"{\"assumptions\":{},\"sourceRoot\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n/scripts/\",\"caller\":{\"name\":\"@babel/node\"},\"cwd\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n\",\"filename\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n/scripts/build-data.js\",\"targets\":{},\"cloneInputAst\":true,\"babelrc\":false,\"configFile\":false,\"browserslistConfigFile\":false,\"passPerPreset\":false,\"envName\":\"development\",\"root\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n\",\"rootMode\":\"root\",\"plugins\":[{\"key\":\"proposal-object-rest-spread\",\"visitor\":{\"VariableDeclarator\":{\"enter\":[null]},\"ExportNamedDeclaration\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"AssignmentExpression\":{\"enter\":[null]},\"ArrayPattern\":{\"enter\":[null]},\"ObjectExpression\":{\"enter\":[null]},\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]}},\"options\":{},\"externalDependencies\":[]},{\"key\":\"transform-react-jsx\",\"visitor\":{\"JSXNamespacedName\":{\"enter\":[null]},\"JSXSpreadChild\":{\"enter\":[null]},\"Program\":{\"enter\":[null]},\"JSXFragment\":{\"exit\":[null]},\"JSXElement\":{\"exit\":[null]},\"JSXAttribute\":{\"enter\":[null]}},\"options\":{\"pragma\":\"React.createElement\",\"pragmaFrag\":\"React.Fragment\",\"runtime\":\"classic\",\"throwIfNamespace\":true,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-react-display-name\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"CallExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{},\"externalDependencies\":[]},{\"key\":\"transform-react-pure-annotations\",\"visitor\":{\"CallExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{},\"externalDependencies\":[]},{\"key\":\"transform-duplicate-named-capturing-groups-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-sets-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-class-static-block\",\"visitor\":{\"ClassBody\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-private-property-in-object\",\"visitor\":{\"BinaryExpression\":{\"enter\":[null]}},\"options\":{\"loose\":\"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"},\"externalDependencies\":[]},{\"key\":\"transform-class-properties\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"ClassExpression\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]}},\"options\":{\"loose\":\"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"},\"externalDependencies\":[]},{\"key\":\"transform-private-methods\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"ClassExpression\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]}},\"options\":{\"loose\":\"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"},\"externalDependencies\":[]},{\"key\":\"transform-numeric-separator\",\"visitor\":{\"NumericLiteral\":{\"enter\":[null]},\"BigIntLiteral\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-logical-assignment-operators\",\"visitor\":{\"AssignmentExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-nullish-coalescing-operator\",\"visitor\":{\"LogicalExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-optional-chaining\",\"visitor\":{\"OptionalCallExpression\":{\"enter\":[null]},\"OptionalMemberExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-json-strings\",\"visitor\":{\"DirectiveLiteral\":{\"enter\":[null]},\"StringLiteral\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-optional-catch-binding\",\"visitor\":{\"CatchClause\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-parameters\",\"visitor\":{\"_exploded\":true,\"_verified\":true,\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-async-generator-functions\",\"visitor\":{\"Program\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-object-rest-spread\",\"visitor\":{\"VariableDeclarator\":{\"enter\":[null]},\"ExportNamedDeclaration\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"AssignmentExpression\":{\"enter\":[null]},\"ArrayPattern\":{\"enter\":[null]},\"ObjectExpression\":{\"enter\":[null]},\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-dotall-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-property-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-named-capturing-groups-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-async-to-generator\",\"visitor\":{\"_exploded\":true,\"_verified\":true,\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-exponentiation-operator\",\"visitor\":{\"AssignmentExpression\":{\"enter\":[null]},\"BinaryExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-template-literals\",\"visitor\":{\"TaggedTemplateExpression\":{\"enter\":[null]},\"TemplateLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-literals\",\"visitor\":{\"NumericLiteral\":{\"enter\":[null]},\"StringLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-function-name\",\"visitor\":{\"FunctionExpression\":{\"exit\":[null]},\"ObjectProperty\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-arrow-functions\",\"visitor\":{\"ArrowFunctionExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-block-scoped-functions\",\"visitor\":{\"BlockStatement\":{\"enter\":[null]},\"SwitchCase\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-classes\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]},\"ClassExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-object-super\",\"visitor\":{\"ObjectExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"DoWhileStatement\":{\"exit\":[null]},\"ForInStatement\":{\"exit\":[null]},\"ForStatement\":{\"exit\":[null]},\"WhileStatement\":{\"exit\":[null]},\"ForOfStatement\":{\"exit\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-shorthand-properties\",\"visitor\":{\"ObjectMethod\":{\"enter\":[null]},\"ObjectProperty\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-duplicate-keys\",\"visitor\":{\"ObjectExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-computed-properties\",\"visitor\":{\"ObjectExpression\":{\"exit\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-for-of\",\"visitor\":{\"ForOfStatement\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-sticky-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-escapes\",\"visitor\":{\"Identifier\":{\"enter\":[null]},\"TemplateElement\":{\"enter\":[null]},\"_exploded\":true,\"StringLiteral\":{\"enter\":[null]},\"DirectiveLiteral\":{\"enter\":[null]},\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-spread\",\"visitor\":{\"ArrayExpression\":{\"enter\":[null]},\"CallExpression\":{\"enter\":[null]},\"NewExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-destructuring\",\"visitor\":{\"ExportNamedDeclaration\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"AssignmentExpression\":{\"enter\":[null]},\"VariableDeclaration\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"ForInStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-block-scoping\",\"visitor\":{\"VariableDeclaration\":{\"enter\":[null,null]},\"BlockStatement\":{\"enter\":[null]},\"SwitchCase\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]},\"DoWhileStatement\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForStatement\":{\"enter\":[null]},\"WhileStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-typeof-symbol\",\"visitor\":{\"UnaryExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"BlockStatement\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"DoWhileStatement\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForStatement\":{\"enter\":[null]},\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"Program\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"SwitchStatement\":{\"enter\":[null]},\"WhileStatement\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassExpression\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]},\"StaticBlock\":{\"enter\":[null]},\"TSModuleBlock\":{\"enter\":[null]},\"AssignmentPattern\":{\"enter\":[null]},\"ArrayPattern\":{\"enter\":[null]},\"ObjectPattern\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-new-target\",\"visitor\":{\"MetaProperty\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-regenerator\",\"visitor\":{\"ObjectMethod\":{\"enter\":[null],\"exit\":[null]},\"ClassMethod\":{\"enter\":[null],\"exit\":[null]},\"ClassPrivateMethod\":{\"enter\":[null],\"exit\":[null]},\"FunctionDeclaration\":{\"exit\":[null]},\"FunctionExpression\":{\"exit\":[null]},\"ArrowFunctionExpression\":{\"exit\":[null]},\"CallExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-export-namespace-from\",\"visitor\":{\"ExportNamedDeclaration\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-modules-commonjs\",\"visitor\":{\"Program\":{\"exit\":[null]},\"_exploded\":true,\"CallExpression\":{\"enter\":[null]},\"ImportExpression\":{\"enter\":[null]},\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-dynamic-import\",\"visitor\":{\"Program\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"syntax-top-level-await\",\"visitor\":{},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"syntax-import-meta\",\"visitor\":{},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]}],\"presets\":[]}:7.25.2:development":{"value":{"code":"#!/usr/bin/env node\n\n/*\nGenerates locales/<component>-msgs.js for each component (gui, etc) from  the\ncurrent translation files for each language for that component\n\nTranslation files are expected to be in Chrome i18n json format:\n'''\n{\n    \"message.id\": {\n        \"message\": \"The translated text\",\n        \"description\": \"Tips for translators\"\n    },\n    ...\n}\n'''\nThey are named by locale, for example: 'fr.json' or 'zh-cn.json'\n\nConverts the collection of translation files to a single set of messages.\nExample output:\n'''\n{\n  \"en\": {\n    \"action.addBackdrop\": \"Add Backdrop\",\n    \"action.addCostume\": \"Add Costume\",\n    \"action.recordSound\": \"Record Sound\",\n    \"action.addSound\": \"Add Sound\"\n  },\n  \"fr\": {\n    \"action.addSound\": \"Ajouter Son\",\n    \"action.addCostume\": \"Ajouter Costume\",\n    \"action.addBackdrop\": \"Ajouter Arrière-plan\",\n    \"action.recordSound\": \"Enregistrement du Son\"\n  }\n}\n'''\nNOTE: blocks messages are plain key-value JSON files\n\nMissing locales are ignored, react-intl will use the default messages for them.\n */\n\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar fs = _interopRequireWildcard(require(\"fs\"));\nvar path = _interopRequireWildcard(require(\"path\"));\nvar _mkdirp = require(\"mkdirp\");\nvar _lodash = _interopRequireDefault(require(\"lodash.defaultsdeep\"));\nvar _supportedLocales = _interopRequireDefault(require(\"../src/supported-locales.js\"));\nfunction _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nvar MSGS_DIR = './locales/';\n(0, _mkdirp.sync)(MSGS_DIR);\nvar missingLocales = [];\nvar combineJson = function combineJson(component) {\n  return Object.keys(_supportedLocales.default).reduce(function (collection, lang) {\n    try {\n      var langData = JSON.parse(fs.readFileSync(path.resolve('editor', component, lang + '.json'), 'utf8'));\n      collection[lang] = langData;\n    } catch (e) {\n      missingLocales.push(component + ':' + lang + '\\n');\n    }\n    return collection;\n  }, {});\n};\nvar generateScratchMsgsFile = function generateScratchMsgsFile(component) {\n  // 1) collect all locale JSON into a map\n  var locales = combineJson(component);\n\n  // 2) build header\n  var header = ['// This file was automatically generated.  Do not modify.', '', \"'use strict';\", '', \"goog.provide('Blockly.ScratchMsgs.allLocales');\", '', \"goog.require('Blockly.ScratchMsgs');\", ''];\n\n  // 3) build the blocks array by reading each JSON file\n  var inputDir = path.resolve('editor', component);\n  var files = Object.keys(locales).map(function (lang) {\n    return lang + '.json';\n  }).sort();\n  var blocks = files.map(function (file) {\n    var locale = path.basename(file, '.json');\n    var raw = fs.readFileSync(path.join(inputDir, file), 'utf8');\n    var obj;\n    try {\n      obj = JSON.parse(raw);\n    } catch (e) {\n      console.error(\"Invalid JSON in file \".concat(file, \": \").concat(e.message));\n      process.exit(1);\n    }\n    var jsonStr = JSON.stringify(obj, null, 2);\n    return \"Blockly.ScratchMsgs.locales[\\\"\".concat(locale, \"\\\"] = \").concat(jsonStr, \";\");\n  });\n\n  // 4) footer\n  var footer = ['', '// End of combined translations'];\n\n  // 5) combine all parts into one string\n  var fileContents = header.concat(blocks, footer).join('\\n');\n\n  // 6) write to disk\n  var outputFile = path.resolve('editor', component, 'scratch_msgs.js');\n  fs.writeFileSync(outputFile, fileContents, 'utf8');\n  console.log(\"Generated translations: \".concat(files.length, \" locales \\u2192 \").concat(outputFile));\n};\n\n// generate the blocks messages: files are plain key-value JSON\nvar blocksMessages = combineJson('blocks');\nvar blockData = '// GENERATED FILE:\\n' + 'export default ' + JSON.stringify(blocksMessages, null, 2) + ';\\n';\nfs.writeFileSync(MSGS_DIR + 'blocks-msgs.js', blockData);\n\n// generate the scratch-msgs.js file for blocks\ngenerateScratchMsgsFile('blocks');\n\n// generate messages for gui components - all files are plain key-value JSON\nvar components = ['interface', 'extensions', 'paint-editor', 'custom'];\nvar editorMsgs = {};\ncomponents.forEach(function (component) {\n  var messages = combineJson(component);\n  var data = '// GENERATED FILE:\\n' + 'export default ' + JSON.stringify(messages, null, 2) + ';\\n';\n  fs.writeFileSync(MSGS_DIR + component + '-msgs.js', data);\n  (0, _lodash.default)(editorMsgs, messages);\n});\n\n// generate combined editor-msgs file\nvar editorData = '// GENERATED FILE:\\n' + 'export default ' + JSON.stringify(editorMsgs, null, 2) + ';\\n';\nfs.writeFileSync(MSGS_DIR + 'editor-msgs.js', editorData);\nif (missingLocales.length > 0) {\n  process.stdout.write('missing locales:\\n' + missingLocales.toString());\n  // process.exit(1);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJmcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfbWtkaXJwIiwiX2xvZGFzaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3VwcG9ydGVkTG9jYWxlcyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIldlYWtNYXAiLCJyIiwidCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIk1TR1NfRElSIiwibWtkaXJwU3luYyIsIm1pc3NpbmdMb2NhbGVzIiwiY29tYmluZUpzb24iLCJjb21wb25lbnQiLCJrZXlzIiwibG9jYWxlcyIsInJlZHVjZSIsImNvbGxlY3Rpb24iLCJsYW5nIiwibGFuZ0RhdGEiLCJKU09OIiwicGFyc2UiLCJyZWFkRmlsZVN5bmMiLCJyZXNvbHZlIiwicHVzaCIsImdlbmVyYXRlU2NyYXRjaE1zZ3NGaWxlIiwiaGVhZGVyIiwiaW5wdXREaXIiLCJmaWxlcyIsIm1hcCIsInNvcnQiLCJibG9ja3MiLCJmaWxlIiwibG9jYWxlIiwiYmFzZW5hbWUiLCJyYXciLCJqb2luIiwib2JqIiwiY29uc29sZSIsImVycm9yIiwiY29uY2F0IiwibWVzc2FnZSIsInByb2Nlc3MiLCJleGl0IiwianNvblN0ciIsInN0cmluZ2lmeSIsImZvb3RlciIsImZpbGVDb250ZW50cyIsIm91dHB1dEZpbGUiLCJ3cml0ZUZpbGVTeW5jIiwibG9nIiwibGVuZ3RoIiwiYmxvY2tzTWVzc2FnZXMiLCJibG9ja0RhdGEiLCJjb21wb25lbnRzIiwiZWRpdG9yTXNncyIsImZvckVhY2giLCJtZXNzYWdlcyIsImRhdGEiLCJkZWZhdWx0c0RlZXAiLCJlZGl0b3JEYXRhIiwic3Rkb3V0Iiwid3JpdGUiLCJ0b1N0cmluZyJdLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvTWFydHlCbG9ja3MvTWFydHlCbG9ja3Mvc2NyYXRjaC1sMTBuL3NjcmlwdHMvIiwic291cmNlcyI6WyJidWlsZC1kYXRhLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLypcbkdlbmVyYXRlcyBsb2NhbGVzLzxjb21wb25lbnQ+LW1zZ3MuanMgZm9yIGVhY2ggY29tcG9uZW50IChndWksIGV0YykgZnJvbSAgdGhlXG5jdXJyZW50IHRyYW5zbGF0aW9uIGZpbGVzIGZvciBlYWNoIGxhbmd1YWdlIGZvciB0aGF0IGNvbXBvbmVudFxuXG5UcmFuc2xhdGlvbiBmaWxlcyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW4gQ2hyb21lIGkxOG4ganNvbiBmb3JtYXQ6XG4nJydcbntcbiAgICBcIm1lc3NhZ2UuaWRcIjoge1xuICAgICAgICBcIm1lc3NhZ2VcIjogXCJUaGUgdHJhbnNsYXRlZCB0ZXh0XCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJUaXBzIGZvciB0cmFuc2xhdG9yc1wiXG4gICAgfSxcbiAgICAuLi5cbn1cbicnJ1xuVGhleSBhcmUgbmFtZWQgYnkgbG9jYWxlLCBmb3IgZXhhbXBsZTogJ2ZyLmpzb24nIG9yICd6aC1jbi5qc29uJ1xuXG5Db252ZXJ0cyB0aGUgY29sbGVjdGlvbiBvZiB0cmFuc2xhdGlvbiBmaWxlcyB0byBhIHNpbmdsZSBzZXQgb2YgbWVzc2FnZXMuXG5FeGFtcGxlIG91dHB1dDpcbicnJ1xue1xuICBcImVuXCI6IHtcbiAgICBcImFjdGlvbi5hZGRCYWNrZHJvcFwiOiBcIkFkZCBCYWNrZHJvcFwiLFxuICAgIFwiYWN0aW9uLmFkZENvc3R1bWVcIjogXCJBZGQgQ29zdHVtZVwiLFxuICAgIFwiYWN0aW9uLnJlY29yZFNvdW5kXCI6IFwiUmVjb3JkIFNvdW5kXCIsXG4gICAgXCJhY3Rpb24uYWRkU291bmRcIjogXCJBZGQgU291bmRcIlxuICB9LFxuICBcImZyXCI6IHtcbiAgICBcImFjdGlvbi5hZGRTb3VuZFwiOiBcIkFqb3V0ZXIgU29uXCIsXG4gICAgXCJhY3Rpb24uYWRkQ29zdHVtZVwiOiBcIkFqb3V0ZXIgQ29zdHVtZVwiLFxuICAgIFwiYWN0aW9uLmFkZEJhY2tkcm9wXCI6IFwiQWpvdXRlciBBcnJpw6hyZS1wbGFuXCIsXG4gICAgXCJhY3Rpb24ucmVjb3JkU291bmRcIjogXCJFbnJlZ2lzdHJlbWVudCBkdSBTb25cIlxuICB9XG59XG4nJydcbk5PVEU6IGJsb2NrcyBtZXNzYWdlcyBhcmUgcGxhaW4ga2V5LXZhbHVlIEpTT04gZmlsZXNcblxuTWlzc2luZyBsb2NhbGVzIGFyZSBpZ25vcmVkLCByZWFjdC1pbnRsIHdpbGwgdXNlIHRoZSBkZWZhdWx0IG1lc3NhZ2VzIGZvciB0aGVtLlxuICovXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgc3luYyBhcyBta2RpcnBTeW5jIH0gZnJvbSAnbWtkaXJwJztcbmltcG9ydCBkZWZhdWx0c0RlZXAgZnJvbSAnbG9kYXNoLmRlZmF1bHRzZGVlcCc7XG5pbXBvcnQgbG9jYWxlcyBmcm9tICcuLi9zcmMvc3VwcG9ydGVkLWxvY2FsZXMuanMnO1xuXG5jb25zdCBNU0dTX0RJUiA9ICcuL2xvY2FsZXMvJztcbm1rZGlycFN5bmMoTVNHU19ESVIpO1xubGV0IG1pc3NpbmdMb2NhbGVzID0gW107XG5cbmNvbnN0IGNvbWJpbmVKc29uID0gKGNvbXBvbmVudCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbGVzKS5yZWR1Y2UoKGNvbGxlY3Rpb24sIGxhbmcpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCBsYW5nRGF0YSA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGgucmVzb2x2ZSgnZWRpdG9yJywgY29tcG9uZW50LCBsYW5nICsgJy5qc29uJyksICd1dGY4JylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb2xsZWN0aW9uW2xhbmddID0gbGFuZ0RhdGE7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIG1pc3NpbmdMb2NhbGVzLnB1c2goY29tcG9uZW50ICsgJzonICsgbGFuZyArICdcXG4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICB9LCB7fSk7XG59O1xuXG5jb25zdCBnZW5lcmF0ZVNjcmF0Y2hNc2dzRmlsZSA9IChjb21wb25lbnQpID0+IHtcbiAgLy8gMSkgY29sbGVjdCBhbGwgbG9jYWxlIEpTT04gaW50byBhIG1hcFxuICBjb25zdCBsb2NhbGVzID0gY29tYmluZUpzb24oY29tcG9uZW50KTtcblxuICAvLyAyKSBidWlsZCBoZWFkZXJcbiAgY29uc3QgaGVhZGVyID0gW1xuICAgICcvLyBUaGlzIGZpbGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiAgRG8gbm90IG1vZGlmeS4nLFxuICAgICcnLFxuICAgIFwiJ3VzZSBzdHJpY3QnO1wiLFxuICAgICcnLFxuICAgIFwiZ29vZy5wcm92aWRlKCdCbG9ja2x5LlNjcmF0Y2hNc2dzLmFsbExvY2FsZXMnKTtcIixcbiAgICAnJyxcbiAgICBcImdvb2cucmVxdWlyZSgnQmxvY2tseS5TY3JhdGNoTXNncycpO1wiLFxuICAgICcnXG4gIF07XG5cbiAgLy8gMykgYnVpbGQgdGhlIGJsb2NrcyBhcnJheSBieSByZWFkaW5nIGVhY2ggSlNPTiBmaWxlXG4gIGNvbnN0IGlucHV0RGlyID0gcGF0aC5yZXNvbHZlKCdlZGl0b3InLCBjb21wb25lbnQpO1xuICBjb25zdCBmaWxlcyA9IE9iamVjdC5rZXlzKGxvY2FsZXMpXG4gICAgLm1hcChsYW5nID0+IGxhbmcgKyAnLmpzb24nKVxuICAgIC5zb3J0KCk7XG5cbiAgY29uc3QgYmxvY2tzID0gZmlsZXMubWFwKGZpbGUgPT4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IHBhdGguYmFzZW5hbWUoZmlsZSwgJy5qc29uJyk7XG4gICAgY29uc3QgcmF3ICAgID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihpbnB1dERpciwgZmlsZSksICd1dGY4Jyk7XG4gICAgbGV0IG9iajtcbiAgICB0cnkge1xuICAgICAgb2JqID0gSlNPTi5wYXJzZShyYXcpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgSlNPTiBpbiBmaWxlICR7ZmlsZX06ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgIH1cbiAgICBjb25zdCBqc29uU3RyID0gSlNPTi5zdHJpbmdpZnkob2JqLCBudWxsLCAyKTtcbiAgICByZXR1cm4gYEJsb2NrbHkuU2NyYXRjaE1zZ3MubG9jYWxlc1tcIiR7bG9jYWxlfVwiXSA9ICR7anNvblN0cn07YDtcbiAgfSk7XG5cbiAgLy8gNCkgZm9vdGVyXG4gIGNvbnN0IGZvb3RlciA9IFtcbiAgICAnJyxcbiAgICAnLy8gRW5kIG9mIGNvbWJpbmVkIHRyYW5zbGF0aW9ucydcbiAgXTtcblxuICAvLyA1KSBjb21iaW5lIGFsbCBwYXJ0cyBpbnRvIG9uZSBzdHJpbmdcbiAgY29uc3QgZmlsZUNvbnRlbnRzID0gaGVhZGVyXG4gICAgLmNvbmNhdChibG9ja3MsIGZvb3RlcilcbiAgICAuam9pbignXFxuJyk7XG5cbiAgLy8gNikgd3JpdGUgdG8gZGlza1xuICBjb25zdCBvdXRwdXRGaWxlID0gcGF0aC5yZXNvbHZlKCdlZGl0b3InLCBjb21wb25lbnQsICdzY3JhdGNoX21zZ3MuanMnKTtcbiAgZnMud3JpdGVGaWxlU3luYyhvdXRwdXRGaWxlLCBmaWxlQ29udGVudHMsICd1dGY4Jyk7XG4gIGNvbnNvbGUubG9nKGBHZW5lcmF0ZWQgdHJhbnNsYXRpb25zOiAke2ZpbGVzLmxlbmd0aH0gbG9jYWxlcyDihpIgJHtvdXRwdXRGaWxlfWApO1xufTtcblxuLy8gZ2VuZXJhdGUgdGhlIGJsb2NrcyBtZXNzYWdlczogZmlsZXMgYXJlIHBsYWluIGtleS12YWx1ZSBKU09OXG5sZXQgYmxvY2tzTWVzc2FnZXMgPSBjb21iaW5lSnNvbignYmxvY2tzJyk7XG5sZXQgYmxvY2tEYXRhID1cbiAgICAnLy8gR0VORVJBVEVEIEZJTEU6XFxuJyArXG4gICAgJ2V4cG9ydCBkZWZhdWx0ICcgK1xuICAgIEpTT04uc3RyaW5naWZ5KGJsb2Nrc01lc3NhZ2VzLCBudWxsLCAyKSArXG4gICAgJztcXG4nO1xuXG5mcy53cml0ZUZpbGVTeW5jKE1TR1NfRElSICsgJ2Jsb2Nrcy1tc2dzLmpzJywgYmxvY2tEYXRhKTtcblxuLy8gZ2VuZXJhdGUgdGhlIHNjcmF0Y2gtbXNncy5qcyBmaWxlIGZvciBibG9ja3NcbmdlbmVyYXRlU2NyYXRjaE1zZ3NGaWxlKCdibG9ja3MnKTtcblxuLy8gZ2VuZXJhdGUgbWVzc2FnZXMgZm9yIGd1aSBjb21wb25lbnRzIC0gYWxsIGZpbGVzIGFyZSBwbGFpbiBrZXktdmFsdWUgSlNPTlxubGV0IGNvbXBvbmVudHMgPSBbJ2ludGVyZmFjZScsICdleHRlbnNpb25zJywgJ3BhaW50LWVkaXRvcicsICdjdXN0b20nXTtcbmxldCBlZGl0b3JNc2dzID0ge307XG5jb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgIGxldCBtZXNzYWdlcyA9IGNvbWJpbmVKc29uKGNvbXBvbmVudCk7XG4gICAgbGV0IGRhdGEgPVxuICAgICAgICAnLy8gR0VORVJBVEVEIEZJTEU6XFxuJyArXG4gICAgICAgICdleHBvcnQgZGVmYXVsdCAnICtcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkobWVzc2FnZXMsIG51bGwsIDIpICtcbiAgICAgICAgJztcXG4nO1xuICAgIGZzLndyaXRlRmlsZVN5bmMoTVNHU19ESVIgKyBjb21wb25lbnQgKyAnLW1zZ3MuanMnLCBkYXRhKTtcbiAgICBkZWZhdWx0c0RlZXAoZWRpdG9yTXNncywgbWVzc2FnZXMpO1xufSk7XG5cbi8vIGdlbmVyYXRlIGNvbWJpbmVkIGVkaXRvci1tc2dzIGZpbGVcbmxldCBlZGl0b3JEYXRhID1cbiAgICAnLy8gR0VORVJBVEVEIEZJTEU6XFxuJyArXG4gICAgJ2V4cG9ydCBkZWZhdWx0ICcgK1xuICAgIEpTT04uc3RyaW5naWZ5KGVkaXRvck1zZ3MsIG51bGwsIDIpICtcbiAgICAnO1xcbic7XG5mcy53cml0ZUZpbGVTeW5jKE1TR1NfRElSICsgJ2VkaXRvci1tc2dzLmpzJywgZWRpdG9yRGF0YSk7XG5cbmlmIChtaXNzaW5nTG9jYWxlcy5sZW5ndGggPiAwKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoJ21pc3NpbmcgbG9jYWxlczpcXG4nICsgbWlzc2luZ0xvY2FsZXMudG9TdHJpbmcoKSk7XG4gICAgLy8gcHJvY2Vzcy5leGl0KDEpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBckNBOztBQUFBLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBc0NBLElBQUFLLEVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUYsdUJBQUEsQ0FB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","map":{"version":3,"names":["_typeof","o","Symbol","iterator","constructor","prototype","fs","_interopRequireWildcard","require","path","_mkdirp","_lodash","_interopRequireDefault","_supportedLocales","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MSGS_DIR","mkdirpSync","missingLocales","combineJson","component","keys","locales","reduce","collection","lang","langData","JSON","parse","readFileSync","resolve","push","generateScratchMsgsFile","header","inputDir","files","map","sort","blocks","file","locale","basename","raw","join","obj","console","error","concat","message","process","exit","jsonStr","stringify","footer","fileContents","outputFile","writeFileSync","log","length","blocksMessages","blockData","components","editorMsgs","forEach","messages","data","defaultsDeep","editorData","stdout","write","toString"],"sourceRoot":"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n/scripts/","sources":["build-data.js"],"sourcesContent":["#!/usr/bin/env node\n\n/*\nGenerates locales/<component>-msgs.js for each component (gui, etc) from  the\ncurrent translation files for each language for that component\n\nTranslation files are expected to be in Chrome i18n json format:\n'''\n{\n    \"message.id\": {\n        \"message\": \"The translated text\",\n        \"description\": \"Tips for translators\"\n    },\n    ...\n}\n'''\nThey are named by locale, for example: 'fr.json' or 'zh-cn.json'\n\nConverts the collection of translation files to a single set of messages.\nExample output:\n'''\n{\n  \"en\": {\n    \"action.addBackdrop\": \"Add Backdrop\",\n    \"action.addCostume\": \"Add Costume\",\n    \"action.recordSound\": \"Record Sound\",\n    \"action.addSound\": \"Add Sound\"\n  },\n  \"fr\": {\n    \"action.addSound\": \"Ajouter Son\",\n    \"action.addCostume\": \"Ajouter Costume\",\n    \"action.addBackdrop\": \"Ajouter Arrière-plan\",\n    \"action.recordSound\": \"Enregistrement du Son\"\n  }\n}\n'''\nNOTE: blocks messages are plain key-value JSON files\n\nMissing locales are ignored, react-intl will use the default messages for them.\n */\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { sync as mkdirpSync } from 'mkdirp';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport locales from '../src/supported-locales.js';\n\nconst MSGS_DIR = './locales/';\nmkdirpSync(MSGS_DIR);\nlet missingLocales = [];\n\nconst combineJson = (component) => {\n    return Object.keys(locales).reduce((collection, lang) => {\n        try {\n            let langData = JSON.parse(\n                fs.readFileSync(path.resolve('editor', component, lang + '.json'), 'utf8')\n            );\n            collection[lang] = langData;\n        } catch (e) {\n            missingLocales.push(component + ':' + lang + '\\n');\n        }\n        return collection;\n    }, {});\n};\n\nconst generateScratchMsgsFile = (component) => {\n  // 1) collect all locale JSON into a map\n  const locales = combineJson(component);\n\n  // 2) build header\n  const header = [\n    '// This file was automatically generated.  Do not modify.',\n    '',\n    \"'use strict';\",\n    '',\n    \"goog.provide('Blockly.ScratchMsgs.allLocales');\",\n    '',\n    \"goog.require('Blockly.ScratchMsgs');\",\n    ''\n  ];\n\n  // 3) build the blocks array by reading each JSON file\n  const inputDir = path.resolve('editor', component);\n  const files = Object.keys(locales)\n    .map(lang => lang + '.json')\n    .sort();\n\n  const blocks = files.map(file => {\n    const locale = path.basename(file, '.json');\n    const raw    = fs.readFileSync(path.join(inputDir, file), 'utf8');\n    let obj;\n    try {\n      obj = JSON.parse(raw);\n    } catch (e) {\n      console.error(`Invalid JSON in file ${file}: ${e.message}`);\n      process.exit(1);\n    }\n    const jsonStr = JSON.stringify(obj, null, 2);\n    return `Blockly.ScratchMsgs.locales[\"${locale}\"] = ${jsonStr};`;\n  });\n\n  // 4) footer\n  const footer = [\n    '',\n    '// End of combined translations'\n  ];\n\n  // 5) combine all parts into one string\n  const fileContents = header\n    .concat(blocks, footer)\n    .join('\\n');\n\n  // 6) write to disk\n  const outputFile = path.resolve('editor', component, 'scratch_msgs.js');\n  fs.writeFileSync(outputFile, fileContents, 'utf8');\n  console.log(`Generated translations: ${files.length} locales → ${outputFile}`);\n};\n\n// generate the blocks messages: files are plain key-value JSON\nlet blocksMessages = combineJson('blocks');\nlet blockData =\n    '// GENERATED FILE:\\n' +\n    'export default ' +\n    JSON.stringify(blocksMessages, null, 2) +\n    ';\\n';\n\nfs.writeFileSync(MSGS_DIR + 'blocks-msgs.js', blockData);\n\n// generate the scratch-msgs.js file for blocks\ngenerateScratchMsgsFile('blocks');\n\n// generate messages for gui components - all files are plain key-value JSON\nlet components = ['interface', 'extensions', 'paint-editor', 'custom'];\nlet editorMsgs = {};\ncomponents.forEach((component) => {\n    let messages = combineJson(component);\n    let data =\n        '// GENERATED FILE:\\n' +\n        'export default ' +\n        JSON.stringify(messages, null, 2) +\n        ';\\n';\n    fs.writeFileSync(MSGS_DIR + component + '-msgs.js', data);\n    defaultsDeep(editorMsgs, messages);\n});\n\n// generate combined editor-msgs file\nlet editorData =\n    '// GENERATED FILE:\\n' +\n    'export default ' +\n    JSON.stringify(editorMsgs, null, 2) +\n    ';\\n';\nfs.writeFileSync(MSGS_DIR + 'editor-msgs.js', editorData);\n\nif (missingLocales.length > 0) {\n    process.stdout.write('missing locales:\\n' + missingLocales.toString());\n    // process.exit(1);\n}\n"],"mappings":"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","ignoreList":[]}},"mtime":1750867564259},"{\"assumptions\":{},\"sourceRoot\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n/src/\",\"caller\":{\"name\":\"@babel/node\"},\"cwd\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n\",\"filename\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n/src/supported-locales.js\",\"targets\":{},\"cloneInputAst\":true,\"babelrc\":false,\"configFile\":false,\"browserslistConfigFile\":false,\"passPerPreset\":false,\"envName\":\"development\",\"root\":\"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n\",\"rootMode\":\"root\",\"plugins\":[{\"key\":\"proposal-object-rest-spread\",\"visitor\":{\"VariableDeclarator\":{\"enter\":[null]},\"ExportNamedDeclaration\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"AssignmentExpression\":{\"enter\":[null]},\"ArrayPattern\":{\"enter\":[null]},\"ObjectExpression\":{\"enter\":[null]},\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]}},\"options\":{},\"externalDependencies\":[]},{\"key\":\"transform-react-jsx\",\"visitor\":{\"JSXNamespacedName\":{\"enter\":[null]},\"JSXSpreadChild\":{\"enter\":[null]},\"Program\":{\"enter\":[null]},\"JSXFragment\":{\"exit\":[null]},\"JSXElement\":{\"exit\":[null]},\"JSXAttribute\":{\"enter\":[null]}},\"options\":{\"pragma\":\"React.createElement\",\"pragmaFrag\":\"React.Fragment\",\"runtime\":\"classic\",\"throwIfNamespace\":true,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-react-display-name\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"CallExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{},\"externalDependencies\":[]},{\"key\":\"transform-react-pure-annotations\",\"visitor\":{\"CallExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{},\"externalDependencies\":[]},{\"key\":\"transform-duplicate-named-capturing-groups-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-sets-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-class-static-block\",\"visitor\":{\"ClassBody\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-private-property-in-object\",\"visitor\":{\"BinaryExpression\":{\"enter\":[null]}},\"options\":{\"loose\":\"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"},\"externalDependencies\":[]},{\"key\":\"transform-class-properties\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"ClassExpression\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]}},\"options\":{\"loose\":\"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"},\"externalDependencies\":[]},{\"key\":\"transform-private-methods\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"ClassExpression\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]}},\"options\":{\"loose\":\"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"},\"externalDependencies\":[]},{\"key\":\"transform-numeric-separator\",\"visitor\":{\"NumericLiteral\":{\"enter\":[null]},\"BigIntLiteral\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-logical-assignment-operators\",\"visitor\":{\"AssignmentExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-nullish-coalescing-operator\",\"visitor\":{\"LogicalExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-optional-chaining\",\"visitor\":{\"OptionalCallExpression\":{\"enter\":[null]},\"OptionalMemberExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-json-strings\",\"visitor\":{\"DirectiveLiteral\":{\"enter\":[null]},\"StringLiteral\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-optional-catch-binding\",\"visitor\":{\"CatchClause\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-parameters\",\"visitor\":{\"_exploded\":true,\"_verified\":true,\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-async-generator-functions\",\"visitor\":{\"Program\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-object-rest-spread\",\"visitor\":{\"VariableDeclarator\":{\"enter\":[null]},\"ExportNamedDeclaration\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"AssignmentExpression\":{\"enter\":[null]},\"ArrayPattern\":{\"enter\":[null]},\"ObjectExpression\":{\"enter\":[null]},\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-dotall-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-property-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-named-capturing-groups-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-async-to-generator\",\"visitor\":{\"_exploded\":true,\"_verified\":true,\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-exponentiation-operator\",\"visitor\":{\"AssignmentExpression\":{\"enter\":[null]},\"BinaryExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-template-literals\",\"visitor\":{\"TaggedTemplateExpression\":{\"enter\":[null]},\"TemplateLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-literals\",\"visitor\":{\"NumericLiteral\":{\"enter\":[null]},\"StringLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-function-name\",\"visitor\":{\"FunctionExpression\":{\"exit\":[null]},\"ObjectProperty\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-arrow-functions\",\"visitor\":{\"ArrowFunctionExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-block-scoped-functions\",\"visitor\":{\"BlockStatement\":{\"enter\":[null]},\"SwitchCase\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-classes\",\"visitor\":{\"ExportDefaultDeclaration\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]},\"ClassExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-object-super\",\"visitor\":{\"ObjectExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"DoWhileStatement\":{\"exit\":[null]},\"ForInStatement\":{\"exit\":[null]},\"ForStatement\":{\"exit\":[null]},\"WhileStatement\":{\"exit\":[null]},\"ForOfStatement\":{\"exit\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-shorthand-properties\",\"visitor\":{\"ObjectMethod\":{\"enter\":[null]},\"ObjectProperty\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-duplicate-keys\",\"visitor\":{\"ObjectExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-computed-properties\",\"visitor\":{\"ObjectExpression\":{\"exit\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-for-of\",\"visitor\":{\"ForOfStatement\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-sticky-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-escapes\",\"visitor\":{\"Identifier\":{\"enter\":[null]},\"TemplateElement\":{\"enter\":[null]},\"_exploded\":true,\"StringLiteral\":{\"enter\":[null]},\"DirectiveLiteral\":{\"enter\":[null]},\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-unicode-regex\",\"visitor\":{\"RegExpLiteral\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-spread\",\"visitor\":{\"ArrayExpression\":{\"enter\":[null]},\"CallExpression\":{\"enter\":[null]},\"NewExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-destructuring\",\"visitor\":{\"ExportNamedDeclaration\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"AssignmentExpression\":{\"enter\":[null]},\"VariableDeclaration\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"ForInStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-block-scoping\",\"visitor\":{\"VariableDeclaration\":{\"enter\":[null,null]},\"BlockStatement\":{\"enter\":[null]},\"SwitchCase\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]},\"DoWhileStatement\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForStatement\":{\"enter\":[null]},\"WhileStatement\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-typeof-symbol\",\"visitor\":{\"UnaryExpression\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true,\"BlockStatement\":{\"enter\":[null]},\"CatchClause\":{\"enter\":[null]},\"DoWhileStatement\":{\"enter\":[null]},\"ForInStatement\":{\"enter\":[null]},\"ForStatement\":{\"enter\":[null]},\"FunctionDeclaration\":{\"enter\":[null]},\"FunctionExpression\":{\"enter\":[null]},\"Program\":{\"enter\":[null]},\"ObjectMethod\":{\"enter\":[null]},\"SwitchStatement\":{\"enter\":[null]},\"WhileStatement\":{\"enter\":[null]},\"ArrowFunctionExpression\":{\"enter\":[null]},\"ClassExpression\":{\"enter\":[null]},\"ClassDeclaration\":{\"enter\":[null]},\"ForOfStatement\":{\"enter\":[null]},\"ClassMethod\":{\"enter\":[null]},\"ClassPrivateMethod\":{\"enter\":[null]},\"StaticBlock\":{\"enter\":[null]},\"TSModuleBlock\":{\"enter\":[null]},\"AssignmentPattern\":{\"enter\":[null]},\"ArrayPattern\":{\"enter\":[null]},\"ObjectPattern\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-new-target\",\"visitor\":{\"MetaProperty\":{\"enter\":[null]},\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-regenerator\",\"visitor\":{\"ObjectMethod\":{\"enter\":[null],\"exit\":[null]},\"ClassMethod\":{\"enter\":[null],\"exit\":[null]},\"ClassPrivateMethod\":{\"enter\":[null],\"exit\":[null]},\"FunctionDeclaration\":{\"exit\":[null]},\"FunctionExpression\":{\"exit\":[null]},\"ArrowFunctionExpression\":{\"exit\":[null]},\"CallExpression\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-export-namespace-from\",\"visitor\":{\"ExportNamedDeclaration\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-modules-commonjs\",\"visitor\":{\"Program\":{\"exit\":[null]},\"_exploded\":true,\"CallExpression\":{\"enter\":[null]},\"ImportExpression\":{\"enter\":[null]},\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"transform-dynamic-import\",\"visitor\":{\"Program\":{\"enter\":[null]}},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"syntax-top-level-await\",\"visitor\":{\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]},{\"key\":\"syntax-import-meta\",\"visitor\":{\"_exploded\":true,\"_verified\":true},\"options\":{\"spec\":false,\"useBuiltIns\":false},\"externalDependencies\":[]}],\"presets\":[]}:7.25.2:development":{"value":{"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.localeMap = exports.isRtl = exports.default = exports.customLocales = void 0;\n/**\n * Currently supported locales for the Scratch Project\n * @type {Object} Key Value pairs of locale code: Language name written in the language\n */\n\nvar locales = exports.default = {\n  'ab': {\n    name: 'Аҧсшәа'\n  },\n  'af': {\n    name: 'Afrikaans'\n  },\n  'ar': {\n    name: 'العربية'\n  },\n  'am': {\n    name: 'አማርኛ'\n  },\n  'an': {\n    name: 'Aragonés'\n  },\n  'ast': {\n    name: 'Asturianu'\n  },\n  'az': {\n    name: 'Azeri'\n  },\n  'id': {\n    name: 'Bahasa Indonesia'\n  },\n  'bn': {\n    name: 'বাংলা'\n  },\n  'be': {\n    name: 'Беларуская'\n  },\n  'bg': {\n    name: 'Български'\n  },\n  'ca': {\n    name: 'Català'\n  },\n  'cs': {\n    name: 'Česky'\n  },\n  'cy': {\n    name: 'Cymraeg'\n  },\n  'da': {\n    name: 'Dansk'\n  },\n  'de': {\n    name: 'Deutsch'\n  },\n  'et': {\n    name: 'Eesti'\n  },\n  'el': {\n    name: 'Ελληνικά'\n  },\n  'en': {\n    name: 'English'\n  },\n  'es': {\n    name: 'Español (España)'\n  },\n  'es-419': {\n    name: 'Español Latinoamericano'\n  },\n  'eo': {\n    name: 'Esperanto'\n  },\n  'eu': {\n    name: 'Euskara'\n  },\n  'fa': {\n    name: 'فارسی'\n  },\n  'fil': {\n    name: 'Filipino'\n  },\n  'fr': {\n    name: 'Français'\n  },\n  'fy': {\n    name: 'Frysk'\n  },\n  'ga': {\n    name: 'Gaeilge'\n  },\n  'gd': {\n    name: 'Gàidhlig'\n  },\n  'gl': {\n    name: 'Galego'\n  },\n  'ko': {\n    name: '한국어'\n  },\n  'ha': {\n    name: 'Hausa'\n  },\n  'hy': {\n    name: 'Հայերեն'\n  },\n  'he': {\n    name: 'עִבְרִית'\n  },\n  'hi': {\n    name: 'हिंदी'\n  },\n  'hr': {\n    name: 'Hrvatski'\n  },\n  'xh': {\n    name: 'isiXhosa'\n  },\n  'zu': {\n    name: 'isiZulu'\n  },\n  'is': {\n    name: 'Íslenska'\n  },\n  'it': {\n    name: 'Italiano'\n  },\n  'ka': {\n    name: 'ქართული ენა'\n  },\n  'kk': {\n    name: 'қазақша'\n  },\n  'qu': {\n    name: 'Kichwa'\n  },\n  'sw': {\n    name: 'Kiswahili'\n  },\n  'ht': {\n    name: 'Kreyòl ayisyen'\n  },\n  'ku': {\n    name: 'Kurdî'\n  },\n  'ckb': {\n    name: 'کوردیی ناوەندی'\n  },\n  'lv': {\n    name: 'Latviešu'\n  },\n  'lt': {\n    name: 'Lietuvių'\n  },\n  'hu': {\n    name: 'Magyar'\n  },\n  'mi': {\n    name: 'Māori'\n  },\n  'mn': {\n    name: 'Монгол хэл'\n  },\n  'nl': {\n    name: 'Nederlands'\n  },\n  'ja': {\n    name: '日本語'\n  },\n  'ja-Hira': {\n    name: 'にほんご'\n  },\n  'nb': {\n    name: 'Norsk Bokmål'\n  },\n  'nn': {\n    name: 'Norsk Nynorsk'\n  },\n  'oc': {\n    name: 'Occitan'\n  },\n  'or': {\n    name: 'ଓଡ଼ିଆ'\n  },\n  'uz': {\n    name: 'Oʻzbekcha'\n  },\n  'th': {\n    name: 'ไทย'\n  },\n  'km': {\n    name: 'ភាសាខ្មែរ'\n  },\n  'pl': {\n    name: 'Polski'\n  },\n  'pt': {\n    name: 'Português'\n  },\n  'pt-br': {\n    name: 'Português Brasileiro'\n  },\n  'rap': {\n    name: 'Rapa Nui'\n  },\n  'ro': {\n    name: 'Română'\n  },\n  'ru': {\n    name: 'Русский'\n  },\n  'nso': {\n    name: 'Sepedi'\n  },\n  'tn': {\n    name: 'Setswana'\n  },\n  'sk': {\n    name: 'Slovenčina'\n  },\n  'sl': {\n    name: 'Slovenščina'\n  },\n  'sr': {\n    name: 'Српски'\n  },\n  'fi': {\n    name: 'Suomi'\n  },\n  'sv': {\n    name: 'Svenska'\n  },\n  'vi': {\n    name: 'Tiếng Việt'\n  },\n  'tr': {\n    name: 'Türkçe'\n  },\n  'uk': {\n    name: 'Українська'\n  },\n  'zh-cn': {\n    name: '简体中文'\n  },\n  'zh-tw': {\n    name: '繁體中文'\n  }\n};\nvar customLocales = exports.customLocales = {\n  'ab': {\n    locale: 'ab',\n    parentLocale: 'ru'\n  },\n  // Aragonese is not in the locale data, using es for Spain\n  'an': {\n    locale: 'an',\n    parentLocale: 'es'\n  },\n  // haitian creole is not in locale-langData\n  'ht': {\n    locale: 'ht',\n    parentLocale: 'fr'\n  },\n  'oc': {\n    locale: 'oc',\n    parentLocale: 'fr'\n  },\n  'rap': {\n    locale: 'rap',\n    parentLocale: 'es'\n  },\n  // TODO: replace zh-cn, zh-tw with zh-Hans and zh-Hant then customLocales is unnecessary\n  'zh-cn': {\n    locale: 'zh-cn',\n    parentLocale: 'zh'\n  },\n  'zh-tw': {\n    locale: 'zh-tw',\n    parentLocale: 'zh'\n  }\n};\nvar localeMap = exports.localeMap = {\n  'aa-dj': 'aa_DJ',\n  'es-419': 'es_419',\n  // ja-Hira: no map - it's 'ja-Hira' on transifex\n  'pt-br': 'pt_BR',\n  'zh-cn': 'zh_CN',\n  'zh-tw': 'zh_TW'\n};\n\n// list of RTL locales supported, and a function to check whether a locale is RTL\nvar rtlLocales = ['ar', 'ckb', 'fa', 'he'];\nvar isRtl = exports.isRtl = function isRtl(locale) {\n  return rtlLocales.indexOf(locale) !== -1;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2NhbGVzIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJuYW1lIiwiY3VzdG9tTG9jYWxlcyIsImxvY2FsZSIsInBhcmVudExvY2FsZSIsImxvY2FsZU1hcCIsInJ0bExvY2FsZXMiLCJpc1J0bCIsImluZGV4T2YiXSwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL01hcnR5QmxvY2tzL01hcnR5QmxvY2tzL3NjcmF0Y2gtbDEwbi9zcmMvIiwic291cmNlcyI6WyJzdXBwb3J0ZWQtbG9jYWxlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEN1cnJlbnRseSBzdXBwb3J0ZWQgbG9jYWxlcyBmb3IgdGhlIFNjcmF0Y2ggUHJvamVjdFxuICogQHR5cGUge09iamVjdH0gS2V5IFZhbHVlIHBhaXJzIG9mIGxvY2FsZSBjb2RlOiBMYW5ndWFnZSBuYW1lIHdyaXR0ZW4gaW4gdGhlIGxhbmd1YWdlXG4gKi9cblxuY29uc3QgbG9jYWxlcyA9IHtcbiAgICAnYWInOiB7bmFtZTogJ9CQ0qfRgdGI05nQsCd9LFxuICAgICdhZic6IHtuYW1lOiAnQWZyaWthYW5zJ30sXG4gICAgJ2FyJzoge25hbWU6ICfYp9mE2LnYsdio2YrYqSd9LFxuICAgICdhbSc6IHtuYW1lOiAn4Yqg4Yib4Yit4YqbJ30sXG4gICAgJ2FuJzoge25hbWU6ICdBcmFnb27DqXMnfSxcbiAgICAnYXN0Jzoge25hbWU6ICdBc3R1cmlhbnUnfSxcbiAgICAnYXonOiB7bmFtZTogJ0F6ZXJpJ30sXG4gICAgJ2lkJzoge25hbWU6ICdCYWhhc2EgSW5kb25lc2lhJ30sXG4gICAgJ2JuJzoge25hbWU6ICfgpqzgpr7gpoLgprLgpr4nfSxcbiAgICAnYmUnOiB7bmFtZTogJ9CR0LXQu9Cw0YDRg9GB0LrQsNGPJ30sXG4gICAgJ2JnJzoge25hbWU6ICfQkdGK0LvQs9Cw0YDRgdC60LgnfSxcbiAgICAnY2EnOiB7bmFtZTogJ0NhdGFsw6AnfSxcbiAgICAnY3MnOiB7bmFtZTogJ8SMZXNreSd9LFxuICAgICdjeSc6IHtuYW1lOiAnQ3ltcmFlZyd9LFxuICAgICdkYSc6IHtuYW1lOiAnRGFuc2snfSxcbiAgICAnZGUnOiB7bmFtZTogJ0RldXRzY2gnfSxcbiAgICAnZXQnOiB7bmFtZTogJ0Vlc3RpJ30sXG4gICAgJ2VsJzoge25hbWU6ICfOlc67zrvOt869zrnOus6sJ30sXG4gICAgJ2VuJzoge25hbWU6ICdFbmdsaXNoJ30sXG4gICAgJ2VzJzoge25hbWU6ICdFc3Bhw7FvbCAoRXNwYcOxYSknfSxcbiAgICAnZXMtNDE5Jzoge25hbWU6ICdFc3Bhw7FvbCBMYXRpbm9hbWVyaWNhbm8nfSxcbiAgICAnZW8nOiB7bmFtZTogJ0VzcGVyYW50byd9LFxuICAgICdldSc6IHtuYW1lOiAnRXVza2FyYSd9LFxuICAgICdmYSc6IHtuYW1lOiAn2YHYp9ix2LPbjCd9LFxuICAgICdmaWwnOiB7bmFtZTogJ0ZpbGlwaW5vJ30sXG4gICAgJ2ZyJzoge25hbWU6ICdGcmFuw6dhaXMnfSxcbiAgICAnZnknOiB7bmFtZTogJ0ZyeXNrJ30sXG4gICAgJ2dhJzoge25hbWU6ICdHYWVpbGdlJ30sXG4gICAgJ2dkJzoge25hbWU6ICdHw6BpZGhsaWcnfSxcbiAgICAnZ2wnOiB7bmFtZTogJ0dhbGVnbyd9LFxuICAgICdrbyc6IHtuYW1lOiAn7ZWc6rWt7Ja0J30sXG4gICAgJ2hhJzoge25hbWU6ICdIYXVzYSd9LFxuICAgICdoeSc6IHtuYW1lOiAn1YDVodW11aXWgNWl1bYnfSxcbiAgICAnaGUnOiB7bmFtZTogJ9ei1rTXkdaw16jWtNeZ16onfSxcbiAgICAnaGknOiB7bmFtZTogJ+CkueCkv+CkguCkpuClgCd9LFxuICAgICdocic6IHtuYW1lOiAnSHJ2YXRza2knfSxcbiAgICAneGgnOiB7bmFtZTogJ2lzaVhob3NhJ30sXG4gICAgJ3p1Jzoge25hbWU6ICdpc2ladWx1J30sXG4gICAgJ2lzJzoge25hbWU6ICfDjXNsZW5za2EnfSxcbiAgICAnaXQnOiB7bmFtZTogJ0l0YWxpYW5vJ30sXG4gICAgJ2thJzoge25hbWU6ICfhg6Xhg5Dhg6Dhg5fhg6Phg5rhg5gg4YOU4YOc4YOQJ30sXG4gICAgJ2trJzoge25hbWU6ICfSm9Cw0LfQsNKb0YjQsCd9LFxuICAgICdxdSc6IHtuYW1lOiAnS2ljaHdhJ30sXG4gICAgJ3N3Jzoge25hbWU6ICdLaXN3YWhpbGknfSxcbiAgICAnaHQnOiB7bmFtZTogJ0tyZXnDsmwgYXlpc3llbid9LFxuICAgICdrdSc6IHtuYW1lOiAnS3VyZMOuJ30sXG4gICAgJ2NrYic6IHtuYW1lOiAn2qnZiNix2K/bjNuMINmG2KfZiNuV2YbYr9uMJ30sXG4gICAgJ2x2Jzoge25hbWU6ICdMYXR2aWXFoXUnfSxcbiAgICAnbHQnOiB7bmFtZTogJ0xpZXR1dmnFsyd9LFxuICAgICdodSc6IHtuYW1lOiAnTWFneWFyJ30sXG4gICAgJ21pJzoge25hbWU6ICdNxIFvcmknfSxcbiAgICAnbW4nOiB7bmFtZTogJ9Cc0L7QvdCz0L7QuyDRhdGN0LsnfSxcbiAgICAnbmwnOiB7bmFtZTogJ05lZGVybGFuZHMnfSxcbiAgICAnamEnOiB7bmFtZTogJ+aXpeacrOiqnid9LFxuICAgICdqYS1IaXJhJzoge25hbWU6ICfjgavjgbvjgpPjgZQnfSxcbiAgICAnbmInOiB7bmFtZTogJ05vcnNrIEJva23DpWwnfSxcbiAgICAnbm4nOiB7bmFtZTogJ05vcnNrIE55bm9yc2snfSxcbiAgICAnb2MnOiB7bmFtZTogJ09jY2l0YW4nfSxcbiAgICAnb3InOiB7bmFtZTogJ+Csk+CsoeCsvOCsv+Cshid9LFxuICAgICd1eic6IHtuYW1lOiAnT8q7emJla2NoYSd9LFxuICAgICd0aCc6IHtuYW1lOiAn4LmE4LiX4LiiJ30sXG4gICAgJ2ttJzoge25hbWU6ICfhnpfhnrbhnp/hnrbhnoHhn5Lhnpjhn4LhnponfSxcbiAgICAncGwnOiB7bmFtZTogJ1BvbHNraSd9LFxuICAgICdwdCc6IHtuYW1lOiAnUG9ydHVndcOqcyd9LFxuICAgICdwdC1icic6IHtuYW1lOiAnUG9ydHVndcOqcyBCcmFzaWxlaXJvJ30sXG4gICAgJ3JhcCc6IHtuYW1lOiAnUmFwYSBOdWknfSxcbiAgICAncm8nOiB7bmFtZTogJ1JvbcOibsSDJ30sXG4gICAgJ3J1Jzoge25hbWU6ICfQoNGD0YHRgdC60LjQuSd9LFxuICAgICduc28nOiB7bmFtZTogJ1NlcGVkaSd9LFxuICAgICd0bic6IHtuYW1lOiAnU2V0c3dhbmEnfSxcbiAgICAnc2snOiB7bmFtZTogJ1Nsb3ZlbsSNaW5hJ30sXG4gICAgJ3NsJzoge25hbWU6ICdTbG92ZW7FocSNaW5hJ30sXG4gICAgJ3NyJzoge25hbWU6ICfQodGA0L/RgdC60LgnfSxcbiAgICAnZmknOiB7bmFtZTogJ1N1b21pJ30sXG4gICAgJ3N2Jzoge25hbWU6ICdTdmVuc2thJ30sXG4gICAgJ3ZpJzoge25hbWU6ICdUaeG6v25nIFZp4buHdCd9LFxuICAgICd0cic6IHtuYW1lOiAnVMO8cmvDp2UnfSxcbiAgICAndWsnOiB7bmFtZTogJ9Cj0LrRgNCw0ZfQvdGB0YzQutCwJ30sXG4gICAgJ3poLWNuJzoge25hbWU6ICfnroDkvZPkuK3mlocnfSxcbiAgICAnemgtdHcnOiB7bmFtZTogJ+e5gemrlOS4reaWhyd9XG59O1xuXG5jb25zdCBjdXN0b21Mb2NhbGVzID0ge1xuICAgICdhYic6IHtcbiAgICAgICAgbG9jYWxlOiAnYWInLFxuICAgICAgICBwYXJlbnRMb2NhbGU6ICdydSdcbiAgICB9LFxuICAgIC8vIEFyYWdvbmVzZSBpcyBub3QgaW4gdGhlIGxvY2FsZSBkYXRhLCB1c2luZyBlcyBmb3IgU3BhaW5cbiAgICAnYW4nOiB7XG4gICAgICAgIGxvY2FsZTogJ2FuJyxcbiAgICAgICAgcGFyZW50TG9jYWxlOiAnZXMnXG4gICAgfSxcbiAgICAvLyBoYWl0aWFuIGNyZW9sZSBpcyBub3QgaW4gbG9jYWxlLWxhbmdEYXRhXG4gICAgJ2h0Jzoge1xuICAgICAgICBsb2NhbGU6ICdodCcsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ2ZyJ1xuICAgIH0sXG4gICAgJ29jJzoge1xuICAgICAgICBsb2NhbGU6ICdvYycsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ2ZyJ1xuICAgIH0sXG4gICAgJ3JhcCc6IHtcbiAgICAgICAgbG9jYWxlOiAncmFwJyxcbiAgICAgICAgcGFyZW50TG9jYWxlOiAnZXMnXG4gICAgfSxcbiAgICAvLyBUT0RPOiByZXBsYWNlIHpoLWNuLCB6aC10dyB3aXRoIHpoLUhhbnMgYW5kIHpoLUhhbnQgdGhlbiBjdXN0b21Mb2NhbGVzIGlzIHVubmVjZXNzYXJ5XG4gICAgJ3poLWNuJzoge1xuICAgICAgICBsb2NhbGU6ICd6aC1jbicsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ3poJ1xuICAgIH0sXG4gICAgJ3poLXR3Jzoge1xuICAgICAgICBsb2NhbGU6ICd6aC10dycsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ3poJ1xuICAgIH1cbn07XG5cbmNvbnN0IGxvY2FsZU1hcCA9IHtcbiAgICAnYWEtZGonOiAnYWFfREonLFxuICAgICdlcy00MTknOiAnZXNfNDE5JyxcbiAgICAvLyBqYS1IaXJhOiBubyBtYXAgLSBpdCdzICdqYS1IaXJhJyBvbiB0cmFuc2lmZXhcbiAgICAncHQtYnInOiAncHRfQlInLFxuICAgICd6aC1jbic6ICd6aF9DTicsXG4gICAgJ3poLXR3JzogJ3poX1RXJ1xufTtcblxuLy8gbGlzdCBvZiBSVEwgbG9jYWxlcyBzdXBwb3J0ZWQsIGFuZCBhIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSBsb2NhbGUgaXMgUlRMXG5jb25zdCBydGxMb2NhbGVzID0gW1xuICAgICdhcicsXG4gICAgJ2NrYicsXG4gICAgJ2ZhJyxcbiAgICAnaGUnXG5dO1xuXG5jb25zdCBpc1J0bCA9IGxvY2FsZSA9PiB7XG4gICAgcmV0dXJuIHJ0bExvY2FsZXMuaW5kZXhPZihsb2NhbGUpICE9PSAtMTtcbn07XG5cbmV4cG9ydCB7bG9jYWxlcyBhcyBkZWZhdWx0LCBjdXN0b21Mb2NhbGVzLCBsb2NhbGVNYXAsIGlzUnRsfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUEsT0FBTyxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FBRztFQUNaLElBQUksRUFBRTtJQUFDQyxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTSxDQUFDO0VBQ3BCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQzFCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBa0IsQ0FBQztFQUNoQyxJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVksQ0FBQztFQUMxQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVcsQ0FBQztFQUN6QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVEsQ0FBQztFQUN0QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVUsQ0FBQztFQUN4QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQWtCLENBQUM7RUFDaEMsUUFBUSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUF5QixDQUFDO0VBQzNDLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBSyxDQUFDO0VBQ25CLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBYSxDQUFDO0VBQzNCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBZ0IsQ0FBQztFQUM5QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixLQUFLLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQWdCLENBQUM7RUFDL0IsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFVLENBQUM7RUFDeEIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFVLENBQUM7RUFDeEIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFRLENBQUM7RUFDdEIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFPLENBQUM7RUFDckIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFZLENBQUM7RUFDMUIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFZLENBQUM7RUFDMUIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFLLENBQUM7RUFDbkIsU0FBUyxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFNLENBQUM7RUFDekIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFjLENBQUM7RUFDNUIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFlLENBQUM7RUFDN0IsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFTLENBQUM7RUFDdkIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFPLENBQUM7RUFDckIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFXLENBQUM7RUFDekIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFLLENBQUM7RUFDbkIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFXLENBQUM7RUFDekIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFRLENBQUM7RUFDdEIsSUFBSSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFXLENBQUM7RUFDekIsT0FBTyxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUFzQixDQUFDO0VBQ3ZDLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBWSxDQUFDO0VBQzFCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBYSxDQUFDO0VBQzNCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBWSxDQUFDO0VBQzFCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBWSxDQUFDO0VBQzFCLE9BQU8sRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTSxDQUFDO0VBQ3ZCLE9BQU8sRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTTtBQUMxQixDQUFDO0FBRUQsSUFBTUMsYUFBYSxHQUFBSCxPQUFBLENBQUFHLGFBQUEsR0FBRztFQUNsQixJQUFJLEVBQUU7SUFDRkMsTUFBTSxFQUFFLElBQUk7SUFDWkMsWUFBWSxFQUFFO0VBQ2xCLENBQUM7RUFDRDtFQUNBLElBQUksRUFBRTtJQUNGRCxNQUFNLEVBQUUsSUFBSTtJQUNaQyxZQUFZLEVBQUU7RUFDbEIsQ0FBQztFQUNEO0VBQ0EsSUFBSSxFQUFFO0lBQ0ZELE1BQU0sRUFBRSxJQUFJO0lBQ1pDLFlBQVksRUFBRTtFQUNsQixDQUFDO0VBQ0QsSUFBSSxFQUFFO0lBQ0ZELE1BQU0sRUFBRSxJQUFJO0lBQ1pDLFlBQVksRUFBRTtFQUNsQixDQUFDO0VBQ0QsS0FBSyxFQUFFO0lBQ0hELE1BQU0sRUFBRSxLQUFLO0lBQ2JDLFlBQVksRUFBRTtFQUNsQixDQUFDO0VBQ0Q7RUFDQSxPQUFPLEVBQUU7SUFDTEQsTUFBTSxFQUFFLE9BQU87SUFDZkMsWUFBWSxFQUFFO0VBQ2xCLENBQUM7RUFDRCxPQUFPLEVBQUU7SUFDTEQsTUFBTSxFQUFFLE9BQU87SUFDZkMsWUFBWSxFQUFFO0VBQ2xCO0FBQ0osQ0FBQztBQUVELElBQU1DLFNBQVMsR0FBQU4sT0FBQSxDQUFBTSxTQUFBLEdBQUc7RUFDZCxPQUFPLEVBQUUsT0FBTztFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQjtFQUNBLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLE9BQU8sRUFBRTtBQUNiLENBQUM7O0FBRUQ7QUFDQSxJQUFNQyxVQUFVLEdBQUcsQ0FDZixJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLENBQ1A7QUFFRCxJQUFNQyxLQUFLLEdBQUFSLE9BQUEsQ0FBQVEsS0FBQSxHQUFHLFNBQVJBLEtBQUtBLENBQUdKLE1BQU0sRUFBSTtFQUNwQixPQUFPRyxVQUFVLENBQUNFLE9BQU8sQ0FBQ0wsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=","map":{"version":3,"names":["locales","exports","default","name","customLocales","locale","parentLocale","localeMap","rtlLocales","isRtl","indexOf"],"sourceRoot":"/home/runner/work/MartyBlocks/MartyBlocks/scratch-l10n/src/","sources":["supported-locales.js"],"sourcesContent":["/**\n * Currently supported locales for the Scratch Project\n * @type {Object} Key Value pairs of locale code: Language name written in the language\n */\n\nconst locales = {\n    'ab': {name: 'Аҧсшәа'},\n    'af': {name: 'Afrikaans'},\n    'ar': {name: 'العربية'},\n    'am': {name: 'አማርኛ'},\n    'an': {name: 'Aragonés'},\n    'ast': {name: 'Asturianu'},\n    'az': {name: 'Azeri'},\n    'id': {name: 'Bahasa Indonesia'},\n    'bn': {name: 'বাংলা'},\n    'be': {name: 'Беларуская'},\n    'bg': {name: 'Български'},\n    'ca': {name: 'Català'},\n    'cs': {name: 'Česky'},\n    'cy': {name: 'Cymraeg'},\n    'da': {name: 'Dansk'},\n    'de': {name: 'Deutsch'},\n    'et': {name: 'Eesti'},\n    'el': {name: 'Ελληνικά'},\n    'en': {name: 'English'},\n    'es': {name: 'Español (España)'},\n    'es-419': {name: 'Español Latinoamericano'},\n    'eo': {name: 'Esperanto'},\n    'eu': {name: 'Euskara'},\n    'fa': {name: 'فارسی'},\n    'fil': {name: 'Filipino'},\n    'fr': {name: 'Français'},\n    'fy': {name: 'Frysk'},\n    'ga': {name: 'Gaeilge'},\n    'gd': {name: 'Gàidhlig'},\n    'gl': {name: 'Galego'},\n    'ko': {name: '한국어'},\n    'ha': {name: 'Hausa'},\n    'hy': {name: 'Հայերեն'},\n    'he': {name: 'עִבְרִית'},\n    'hi': {name: 'हिंदी'},\n    'hr': {name: 'Hrvatski'},\n    'xh': {name: 'isiXhosa'},\n    'zu': {name: 'isiZulu'},\n    'is': {name: 'Íslenska'},\n    'it': {name: 'Italiano'},\n    'ka': {name: 'ქართული ენა'},\n    'kk': {name: 'қазақша'},\n    'qu': {name: 'Kichwa'},\n    'sw': {name: 'Kiswahili'},\n    'ht': {name: 'Kreyòl ayisyen'},\n    'ku': {name: 'Kurdî'},\n    'ckb': {name: 'کوردیی ناوەندی'},\n    'lv': {name: 'Latviešu'},\n    'lt': {name: 'Lietuvių'},\n    'hu': {name: 'Magyar'},\n    'mi': {name: 'Māori'},\n    'mn': {name: 'Монгол хэл'},\n    'nl': {name: 'Nederlands'},\n    'ja': {name: '日本語'},\n    'ja-Hira': {name: 'にほんご'},\n    'nb': {name: 'Norsk Bokmål'},\n    'nn': {name: 'Norsk Nynorsk'},\n    'oc': {name: 'Occitan'},\n    'or': {name: 'ଓଡ଼ିଆ'},\n    'uz': {name: 'Oʻzbekcha'},\n    'th': {name: 'ไทย'},\n    'km': {name: 'ភាសាខ្មែរ'},\n    'pl': {name: 'Polski'},\n    'pt': {name: 'Português'},\n    'pt-br': {name: 'Português Brasileiro'},\n    'rap': {name: 'Rapa Nui'},\n    'ro': {name: 'Română'},\n    'ru': {name: 'Русский'},\n    'nso': {name: 'Sepedi'},\n    'tn': {name: 'Setswana'},\n    'sk': {name: 'Slovenčina'},\n    'sl': {name: 'Slovenščina'},\n    'sr': {name: 'Српски'},\n    'fi': {name: 'Suomi'},\n    'sv': {name: 'Svenska'},\n    'vi': {name: 'Tiếng Việt'},\n    'tr': {name: 'Türkçe'},\n    'uk': {name: 'Українська'},\n    'zh-cn': {name: '简体中文'},\n    'zh-tw': {name: '繁體中文'}\n};\n\nconst customLocales = {\n    'ab': {\n        locale: 'ab',\n        parentLocale: 'ru'\n    },\n    // Aragonese is not in the locale data, using es for Spain\n    'an': {\n        locale: 'an',\n        parentLocale: 'es'\n    },\n    // haitian creole is not in locale-langData\n    'ht': {\n        locale: 'ht',\n        parentLocale: 'fr'\n    },\n    'oc': {\n        locale: 'oc',\n        parentLocale: 'fr'\n    },\n    'rap': {\n        locale: 'rap',\n        parentLocale: 'es'\n    },\n    // TODO: replace zh-cn, zh-tw with zh-Hans and zh-Hant then customLocales is unnecessary\n    'zh-cn': {\n        locale: 'zh-cn',\n        parentLocale: 'zh'\n    },\n    'zh-tw': {\n        locale: 'zh-tw',\n        parentLocale: 'zh'\n    }\n};\n\nconst localeMap = {\n    'aa-dj': 'aa_DJ',\n    'es-419': 'es_419',\n    // ja-Hira: no map - it's 'ja-Hira' on transifex\n    'pt-br': 'pt_BR',\n    'zh-cn': 'zh_CN',\n    'zh-tw': 'zh_TW'\n};\n\n// list of RTL locales supported, and a function to check whether a locale is RTL\nconst rtlLocales = [\n    'ar',\n    'ckb',\n    'fa',\n    'he'\n];\n\nconst isRtl = locale => {\n    return rtlLocales.indexOf(locale) !== -1;\n};\n\nexport {locales as default, customLocales, localeMap, isRtl};\n"],"mappings":"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","ignoreList":[]}},"mtime":1750867373905}}