@robotical/martyblocks 3.4.28 → 3.4.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"{\"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":1758207124635},"{\"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+e5gemrlOS4reaWhyd9XG59O1xuXG5jb25zdCBjdXN0b21Mb2NhbGVzID0ge1xuICAgICdhYic6IHtcbiAgICAgICAgbG9jYWxlOiAnYWInLFxuICAgICAgICBwYXJlbnRMb2NhbGU6ICdydSdcbiAgICB9LFxuICAgIC8vIEFyYWdvbmVzZSBpcyBub3QgaW4gdGhlIGxvY2FsZSBkYXRhLCB1c2luZyBlcyBmb3IgU3BhaW5cbiAgICAnYW4nOiB7XG4gICAgICAgIGxvY2FsZTogJ2FuJyxcbiAgICAgICAgcGFyZW50TG9jYWxlOiAnZXMnXG4gICAgfSxcbiAgICAvLyBoYWl0aWFuIGNyZW9sZSBpcyBub3QgaW4gbG9jYWxlLWxhbmdEYXRhXG4gICAgJ2h0Jzoge1xuICAgICAgICBsb2NhbGU6ICdodCcsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ2ZyJ1xuICAgIH0sXG4gICAgJ29jJzoge1xuICAgICAgICBsb2NhbGU6ICdvYycsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ2ZyJ1xuICAgIH0sXG4gICAgJ3JhcCc6IHtcbiAgICAgICAgbG9jYWxlOiAncmFwJyxcbiAgICAgICAgcGFyZW50TG9jYWxlOiAnZXMnXG4gICAgfSxcbiAgICAvLyBUT0RPOiByZXBsYWNlIHpoLWNuLCB6aC10dyB3aXRoIHpoLUhhbnMgYW5kIHpoLUhhbnQgdGhlbiBjdXN0b21Mb2NhbGVzIGlzIHVubmVjZXNzYXJ5XG4gICAgJ3poLWNuJzoge1xuICAgICAgICBsb2NhbGU6ICd6aC1jbicsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ3poJ1xuICAgIH0sXG4gICAgJ3poLXR3Jzoge1xuICAgICAgICBsb2NhbGU6ICd6aC10dycsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ3poJ1xuICAgIH1cbn07XG5cbmNvbnN0IGxvY2FsZU1hcCA9IHtcbiAgICAnYWEtZGonOiAnYWFfREonLFxuICAgICdlcy00MTknOiAnZXNfNDE5JyxcbiAgICAvLyBqYS1IaXJhOiBubyBtYXAgLSBpdCdzICdqYS1IaXJhJyBvbiB0cmFuc2lmZXhcbiAgICAncHQtYnInOiAncHRfQlInLFxuICAgICd6aC1jbic6ICd6aF9DTicsXG4gICAgJ3poLXR3JzogJ3poX1RXJ1xufTtcblxuLy8gbGlzdCBvZiBSVEwgbG9jYWxlcyBzdXBwb3J0ZWQsIGFuZCBhIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSBsb2NhbGUgaXMgUlRMXG5jb25zdCBydGxMb2NhbGVzID0gW1xuICAgICdhcicsXG4gICAgJ2NrYicsXG4gICAgJ2ZhJyxcbiAgICAnaGUnXG5dO1xuXG5jb25zdCBpc1J0bCA9IGxvY2FsZSA9PiB7XG4gICAgcmV0dXJuIHJ0bExvY2FsZXMuaW5kZXhPZihsb2NhbGUpICE9PSAtMTtcbn07XG5cbmV4cG9ydCB7bG9jYWxlcyBhcyBkZWZhdWx0LCBjdXN0b21Mb2NhbGVzLCBsb2NhbGVNYXAsIGlzUnRsfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUEsT0FBTyxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FBRztFQUNaLElBQUksRUFBRTtJQUFDQyxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTSxDQUFDO0VBQ3BCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQzFCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBa0IsQ0FBQztFQUNoQyxJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVksQ0FBQztFQUMxQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVcsQ0FBQztFQUN6QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVEsQ0FBQztFQUN0QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVUsQ0FBQztFQUN4QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQWtCLENBQUM7RUFDaEMsUUFBUSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUF5QixDQUFDO0VBQzNDLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBSyxDQUFDO0VBQ25CLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBYSxDQUFDO0VBQzNCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxD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","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":1758206940648}}
|
|
1
|
+
{"{\"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":1759924506843},"{\"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+e5gemrlOS4reaWhyd9XG59O1xuXG5jb25zdCBjdXN0b21Mb2NhbGVzID0ge1xuICAgICdhYic6IHtcbiAgICAgICAgbG9jYWxlOiAnYWInLFxuICAgICAgICBwYXJlbnRMb2NhbGU6ICdydSdcbiAgICB9LFxuICAgIC8vIEFyYWdvbmVzZSBpcyBub3QgaW4gdGhlIGxvY2FsZSBkYXRhLCB1c2luZyBlcyBmb3IgU3BhaW5cbiAgICAnYW4nOiB7XG4gICAgICAgIGxvY2FsZTogJ2FuJyxcbiAgICAgICAgcGFyZW50TG9jYWxlOiAnZXMnXG4gICAgfSxcbiAgICAvLyBoYWl0aWFuIGNyZW9sZSBpcyBub3QgaW4gbG9jYWxlLWxhbmdEYXRhXG4gICAgJ2h0Jzoge1xuICAgICAgICBsb2NhbGU6ICdodCcsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ2ZyJ1xuICAgIH0sXG4gICAgJ29jJzoge1xuICAgICAgICBsb2NhbGU6ICdvYycsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ2ZyJ1xuICAgIH0sXG4gICAgJ3JhcCc6IHtcbiAgICAgICAgbG9jYWxlOiAncmFwJyxcbiAgICAgICAgcGFyZW50TG9jYWxlOiAnZXMnXG4gICAgfSxcbiAgICAvLyBUT0RPOiByZXBsYWNlIHpoLWNuLCB6aC10dyB3aXRoIHpoLUhhbnMgYW5kIHpoLUhhbnQgdGhlbiBjdXN0b21Mb2NhbGVzIGlzIHVubmVjZXNzYXJ5XG4gICAgJ3poLWNuJzoge1xuICAgICAgICBsb2NhbGU6ICd6aC1jbicsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ3poJ1xuICAgIH0sXG4gICAgJ3poLXR3Jzoge1xuICAgICAgICBsb2NhbGU6ICd6aC10dycsXG4gICAgICAgIHBhcmVudExvY2FsZTogJ3poJ1xuICAgIH1cbn07XG5cbmNvbnN0IGxvY2FsZU1hcCA9IHtcbiAgICAnYWEtZGonOiAnYWFfREonLFxuICAgICdlcy00MTknOiAnZXNfNDE5JyxcbiAgICAvLyBqYS1IaXJhOiBubyBtYXAgLSBpdCdzICdqYS1IaXJhJyBvbiB0cmFuc2lmZXhcbiAgICAncHQtYnInOiAncHRfQlInLFxuICAgICd6aC1jbic6ICd6aF9DTicsXG4gICAgJ3poLXR3JzogJ3poX1RXJ1xufTtcblxuLy8gbGlzdCBvZiBSVEwgbG9jYWxlcyBzdXBwb3J0ZWQsIGFuZCBhIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSBsb2NhbGUgaXMgUlRMXG5jb25zdCBydGxMb2NhbGVzID0gW1xuICAgICdhcicsXG4gICAgJ2NrYicsXG4gICAgJ2ZhJyxcbiAgICAnaGUnXG5dO1xuXG5jb25zdCBpc1J0bCA9IGxvY2FsZSA9PiB7XG4gICAgcmV0dXJuIHJ0bExvY2FsZXMuaW5kZXhPZihsb2NhbGUpICE9PSAtMTtcbn07XG5cbmV4cG9ydCB7bG9jYWxlcyBhcyBkZWZhdWx0LCBjdXN0b21Mb2NhbGVzLCBsb2NhbGVNYXAsIGlzUnRsfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUEsT0FBTyxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FBRztFQUNaLElBQUksRUFBRTtJQUFDQyxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTSxDQUFDO0VBQ3BCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQzFCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBa0IsQ0FBQztFQUNoQyxJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVksQ0FBQztFQUMxQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVcsQ0FBQztFQUN6QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVEsQ0FBQztFQUN0QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQU8sQ0FBQztFQUNyQixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVUsQ0FBQztFQUN4QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQVMsQ0FBQztFQUN2QixJQUFJLEVBQUU7SUFBQ0EsSUFBSSxFQUFFO0VBQWtCLENBQUM7RUFDaEMsUUFBUSxFQUFFO0lBQUNBLElBQUksRUFBRTtFQUF5QixDQUFDO0VBQzNDLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVyxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLEtBQUssRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3pCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUSxDQUFDO0VBQ3RCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBSyxDQUFDO0VBQ25CLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBTyxDQUFDO0VBQ3JCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxDQUFDO0VBQ3ZCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBVSxDQUFDO0VBQ3hCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBYSxDQUFDO0VBQzNCLElBQUksRUFBRTtJQUFDQSxJQUFJLEVBQUU7RUFBUyxD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","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":1759924324452}}
|