{
  "publisher": "kirbo",
  "name": "i18n-ally",
  "version": "2.14.0",
  "displayName": "i18n Ally",
  "description": "🌍 All in one i18n extension for VS Code",
  "keywords": [
    "vue",
    "vue-i18n",
    "translate",
    "i18n",
    "i18next"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/kirbo/i18n-ally"
  },
  "main": "./dist/extension",
  "scripts": {
    "release": "nr release:patch",
    "release:minor": "standard-version --release-as minor && git push --follow-tags",
    "release:patch": "standard-version --release-as patch && git push --follow-tags",
    "gh:release": "conventional-github-releaser -p angular",
    "build": "rimraf dist && nr i18n:build && nr main:build && nr editor:build && esno scripts/post-build.ts",
    "dev": "run-p *:dev",
    "main:build": "cross-env I18N_ALLY_ENV=production webpack --mode development",
    "main:dev": "cross-env I18N_ALLY_ENV=development webpack --mode development --watch --info-verbosity verbose",
    "editor:build": "parcel build src/webview/src/index.html --out-dir dist/editor --no-minify",
    "editor:dev": "nodemon -w src/webview/src -e js,ts,vue,html --exec \"nr editor:build\"",
    "i18n:build": "esno scripts/build-i18n.ts",
    "i18n:dev": "nodemon -w ./locales -e json --exec \"nr i18n:build\"",
    "flags:build": "esno scripts/build-flags.ts",
    "lint": "eslint --ext .ts,.js,.vue .",
    "lint:fix": "nr lint -- --fix",
    "test": "nr test:unit",
    "test:e2e": "rimraf test/e2e-out && tsc -p test/e2e && cross-env I18N_ALLY_ENV=test node ./test/e2e-out/index.js",
    "test:e2e:update": "cross-env CHAI_JEST_SNAPSHOT_UPDATE_ALL=true yarn test:e2e",
    "test:e2e:dev": "rimraf test/e2e-out && tsc -p test/e2e --watch",
    "test:fixture": "rimraf test/fixture-scripts-out && tsc -p test/fixture-scripts && cross-env I18N_ALLY_ENV=test node ./test/fixture-scripts-out/index.js",
    "test:unit": "cross-env I18N_ALLY_ENV=test ts-mocha -p test/unit/tsconfig.json --file test/unit/setup.ts test/unit/**/*.test.ts test/unit/**/**/*.test.ts",
    "test:update": "cross-env CHAI_JEST_SNAPSHOT_UPDATE_ALL=true nr test:unit"
  },
  "dependencies": {
    "@amplitude/analytics-node": "^1.3.3",
    "@babel/parser": "^7.15.3",
    "@babel/traverse": "^7.23.2",
    "bcp-47-normalize": "^2.0.1",
    "change-case": "^4.1.2",
    "consolidate": "^0.16.0",
    "esm": "^3.2.25",
    "fast-glob": "^3.2.7",
    "fluent-vue-cli": "^3.0.4",
    "glob-gitignore": "^1.0.14",
    "htmlparser2": "^6.1.0",
    "iconv-lite": "^0.6.3",
    "ini": "^2.0.0",
    "js-yaml": "^4.1.0",
    "json-source-map": "^0.6.1",
    "json-stable-stringify": "^1.0.1",
    "json5": "^2.2.0",
    "limax": "^2.1.0",
    "lodash": "^4.17.21",
    "micromatch": "^4.0.4",
    "nanoid": "^3.1.25",
    "parse-gitignore": "^1.0.1",
    "pofile": "^1.1.1",
    "properties": "^1.2.1",
    "qs": "^6.10.3",
    "semver": "^7.5.2",
    "string-similarity": "^4.0.4",
    "ts-node": "^9.1.1",
    "typescript": "^4.3.5",
    "vue-i18n-locale-message": "^1.8.0",
    "vue-template-compiler": "^2.6.14",
    "vue-template-es2015-compiler": "^1.9.1",
    "yaml": "^1.10.2"
  },
  "devDependencies": {
    "@antfu/eslint-config": "^0.7.0",
    "@antfu/ni": "^0.7.0",
    "@antfu/utils": "^0.2.4",
    "@babel/types": "^7.15.0",
    "@types/chai": "^4.2.21",
    "@types/chai-jest-snapshot": "^1.3.6",
    "@types/diff": "^5.0.1",
    "@types/fs-extra": "^9.0.12",
    "@types/gettext-parser": "^4.0.1",
    "@types/ini": "^1.3.30",
    "@types/js-yaml": "^4.0.3",
    "@types/json-stable-stringify": "^1.0.33",
    "@types/json5": "^2.2.0",
    "@types/lodash": "^4.14.172",
    "@types/micromatch": "^4.0.2",
    "@types/mocha": "^8.2.3",
    "@types/node": "^15.14.9",
    "@types/qs": "^6.9.7",
    "@types/semver": "^7.3.8",
    "@types/string-similarity": "^4.0.0",
    "@types/uuid": "^8.3.1",
    "@types/vscode": "^1.77.0",
    "@types/webpack": "^4.41.26",
    "@vscode/test-electron": "^2.4.1",
    "axios": "^0.21.1",
    "blueimp-md5": "^2.18.0",
    "chai": "^4.3.4",
    "chai-jest-snapshot": "^2.0.0",
    "chalk": "^4.1.2",
    "conventional-github-releaser": "^3.1.5",
    "cross-env": "^7.0.3",
    "diff": "^5.0.0",
    "eslint": "^7.32.0",
    "esno": "^0.9.1",
    "fs-extra": "^10.0.0",
    "mocha": "^8.4.0",
    "nodemon": "^2.0.12",
    "npm-run-all": "^4.1.5",
    "parcel-bundler": "^1.12.5",
    "parcel-plugin-inliner": "^1.0.16",
    "php-array-parser": "^1.0.1",
    "php-parser": "^3.0.3",
    "pug": "^3.0.3",
    "rimraf": "^3.0.2",
    "standard-version": "^9.3.1",
    "stylus": "^0.54.8",
    "ts-loader": "^8.1.0",
    "ts-mocha": "^8.0.0",
    "tsconfig-paths-webpack-plugin": "^3.5.1",
    "unplugin": "^0.0.5",
    "uuid": "^8.3.2",
    "vsce": "^1.96.1",
    "vue": "^2.6.14",
    "vue-i18n": "^8.22.4",
    "vue-material-design-icons": "^4.12.1",
    "vuex": "^3.6.2",
    "webpack": "^4.46.0",
    "webpack-cli": "^3.3.12",
    "webpack-filter-warnings-plugin": "^1.2.1"
  },
  "engines": {
    "vscode": "^1.77.3"
  },
  "categories": [
    "Other"
  ],
  "activationEvents": [
    "workspaceContains:package.json",
    "workspaceContains:pubspec.yaml",
    "workspaceContains:composer.json",
    "workspaceContains:Gemfile",
    "workspaceContains:.vscode/i18n-ally-custom-framework.yml",
    "workspaceContains:.vscode/i18n-ally-reviews.yml",
    "workspaceContains:*.vue",
    "onWebviewPanel:i18n-ally-editor",
    "onLanguage:vue",
    "onLanguage:html",
    "onLanguage:pug",
    "onLanguage:javascript",
    "onLanguage:javascriptreact",
    "onLanguage:typescript",
    "onLanguage:typescriptreact",
    "onLanguage:json",
    "onLanguage:yaml",
    "onLanguage:json5",
    "onLanguage:dart",
    "onLanguage:php",
    "onLanguage:handlebars",
    "onLanguage:ini",
    "onLanguage:svelte"
  ],
  "icon": "res/logo.png",
  "homepage": "https://github.com/lokalise/i18n-ally",
  "bugs": "https://github.com/lokalise/i18n-ally/issues",
  "contributes": {
    "commands": [
      {
        "command": "i18n-ally.config-locales",
        "title": "%command.config_locales%",
        "category": "%extname%"
      },
      {
        "command": "i18n-ally.config-locales-auto",
        "title": "%command.config_locales_auto%",
        "category": "%extname%"
      },
      {
        "command": "i18n-ally.config-display-language",
        "title": "%command.config_display_language%",
        "category": "%extname%"
      },
      {
        "command": "i18n-ally.config-source-language",
        "title": "%command.config_source_language%",
        "category": "%extname%"
      },
      {
        "command": "i18n-ally.set-display-language",
        "title": "%command.set_display_language%",
        "category": "%extname%"
      },
      {
        "command": "i18n-ally.set-source-language",
        "title": "%command.set_source_language%",
        "category": "%extname%"
      },
      {
        "command": "i18n-ally.copy-key",
        "category": "%extname%",
        "title": "%command.copy_key%",
        "icon": "$(clippy)"
      },
      {
        "command": "i18n-ally.translate-key",
        "category": "%extname%",
        "title": "%command.translate_key%",
        "icon": "$(globe)"
      },
      {
        "command": "i18n-ally.edit-key",
        "category": "%extname%",
        "title": "%command.edit_key%",
        "icon": "$(edit)"
      },
      {
        "command": "i18n-ally.open-key",
        "category": "%extname%",
        "title": "%command.open_key%",
        "icon": "$(go-to-file)"
      },
      {
        "command": "i18n-ally.delete-key",
        "category": "%extname%",
        "title": "%command.delete_key%"
      },
      {
        "command": "i18n-ally.rename-key",
        "category": "%extname%",
        "title": "%command.rename_key%"
      },
      {
        "command": "i18n-ally.extract-text",
        "category": "%extname%",
        "title": "%refactor.extract_text%",
        "icon": "$(symbol-string)"
      },
      {
        "command": "i18n-ally.extract-hard-strings-batch",
        "category": "%extname%",
        "title": "Extract all hard-coded strings (experimental)"
      },
      {
        "command": "i18n-ally.detect_hard_strings",
        "category": "%extname%",
        "title": "Detect hard-coded strings in current file (experimental)"
      },
      {
        "command": "i18n-ally.open-url",
        "category": "%extname%",
        "title": "%command.open_url%"
      },
      {
        "command": "i18n-ally.fulfill-keys",
        "category": "%extname%",
        "title": "%command.fulfill_keys%",
        "icon": "$(selection)"
      },
      {
        "command": "i18n-ally.refresh-usage",
        "category": "%extname%",
        "title": "%command.refresh_usage%",
        "icon": "$(refresh)"
      },
      {
        "command": "i18n-ally.support",
        "category": "%extname%",
        "title": "%feedback.support%"
      },
      {
        "command": "i18n-ally.locale-visibility-show",
        "category": "%extname%",
        "title": "%command.locale_visibility_show%",
        "icon": "$(eye)"
      },
      {
        "command": "i18n-ally.locale-visibility-hide",
        "category": "%extname%",
        "title": "%command.locale_visibility_hide%",
        "icon": "$(eye-closed)"
      },
      {
        "command": "i18n-ally.new-key",
        "category": "%extname%",
        "title": "%command.new_key%",
        "icon": "$(plus)"
      },
      {
        "command": "i18n-ally.duplicate-key",
        "category": "%extname%",
        "title": "%command.duplicate_key%"
      },
      {
        "command": "i18n-ally.mark-key-as-in-use",
        "category": "%extname%",
        "title": "%command.mark_key_as_in_use%"
      },
      {
        "command": "i18n-ally.open-in-editor",
        "category": "%extname%",
        "title": "%command.open_in_editor%",
        "icon": "$(file-symlink-file)"
      },
      {
        "command": "i18n-ally.open-editor",
        "category": "%extname%",
        "title": "%command.open_editor%"
      },
      {
        "command": "i18n-ally.review.comment",
        "category": "%extname%",
        "title": "%review.leave_comment%",
        "enablement": "!commentIsEmpty"
      },
      {
        "command": "i18n-ally.review.approve",
        "category": "%extname%",
        "title": "%review.approve%"
      },
      {
        "command": "i18n-ally.review.request-change",
        "category": "%extname%",
        "title": "%review.request_change%"
      },
      {
        "command": "i18n-ally.review.edit",
        "category": "%extname%",
        "title": "%review.edit%",
        "icon": "$(edit)"
      },
      {
        "command": "i18n-ally.review.resolve",
        "title": "%review.resolve%",
        "icon": "$(issue-closed)"
      },
      {
        "command": "i18n-ally.review.resolve-thread",
        "category": "%extname%",
        "title": "%review.resolve_all%",
        "icon": "$(checklist)"
      },
      {
        "command": "i18n-ally.review.apply-translation",
        "category": "%extname%",
        "title": "%review.apply_translation_candidate%",
        "icon": "$(check)"
      },
      {
        "command": "i18n-ally.review.apply-suggestion",
        "category": "%extname%",
        "title": "%review.apply_suggestion%"
      },
      {
        "command": "i18n-ally.insert-key",
        "category": "%extname%",
        "title": "%command.insert_key%"
      },
      {
        "command": "i18n-ally.deepl-usage",
        "category": "%extname%",
        "title": "%command.deepl_usage%"
      },
      {
        "command": "i18n-ally.go-to-range",
        "category": "%extname%",
        "title": "%command.go_to_range%"
      },
      {
        "command": "i18n-ally.go-to-next-usage",
        "category": "%extname%",
        "title": "%command.go_to_next_usage%"
      },
      {
        "command": "i18n-ally.go-to-prev-usage",
        "category": "%extname%",
        "title": "%command.go_to_prev_usage%"
      },
      {
        "command": "i18n-ally.open-docs-hard-string",
        "category": "%extname%",
        "title": "%command.show_docs%",
        "icon": "$(question)"
      },
      {
        "command": "i18n-ally.extract-disable-auto-detect",
        "category": "%extname%",
        "title": "%command.extract.disable-auto-detect%"
      },
      {
        "command": "i18n-ally.extract-enable-auto-detect",
        "category": "%extname%",
        "title": "%command.extract.enable-auto-detect%"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "i18n-ally.set-display-language",
          "when": "false"
        },
        {
          "command": "i18n-ally.set-source-language",
          "when": "false"
        },
        {
          "command": "i18n-ally.copy-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.edit-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.delete-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.rename-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.translate-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.open-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.open-url",
          "when": "false"
        },
        {
          "command": "i18n-ally.locale-visibility-hide",
          "when": "false"
        },
        {
          "command": "i18n-ally.locale-visibility-show",
          "when": "false"
        },
        {
          "command": "i18n-ally.mark-key-as-in-use",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.comment",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.approve",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.request-change",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.resolve-thread",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.resolve",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.apply-translation",
          "when": "false"
        },
        {
          "command": "i18n-ally.review.apply-suggestion",
          "when": "false"
        },
        {
          "command": "i18n-ally.open-in-editor",
          "when": "false"
        },
        {
          "command": "i18n-ally.edit-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.duplicate-key",
          "when": "false"
        },
        {
          "command": "i18n-ally.go-to-range",
          "when": "false"
        },
        {
          "command": "i18n-ally.extract-disable-auto-detect",
          "when": "false"
        },
        {
          "command": "i18n-ally.extract-enable-auto-detect",
          "when": "false"
        }
      ],
      "view/item/context": [
        {
          "command": "i18n-ally.open-in-editor",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /open-in-editor/",
          "group": "inline@1"
        },
        {
          "command": "i18n-ally.open-key",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /openable/",
          "group": "inline@2"
        },
        {
          "command": "i18n-ally.copy-key",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /node/",
          "group": "inline@3"
        },
        {
          "command": "i18n-ally.translate-key",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /translatable/",
          "group": "inline@4"
        },
        {
          "command": "i18n-ally.edit-key",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /editable/",
          "group": "inline@5"
        },
        {
          "command": "i18n-ally.fulfill-keys",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /fulfillable/",
          "group": "inline@3"
        },
        {
          "command": "i18n-ally.review.apply-translation",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /translation-candidate/",
          "group": "inline@1"
        },
        {
          "command": "i18n-ally.set-display-language",
          "when": "view =~ /i18n-ally-locales-progress/ && viewItem =~ /notdisply/"
        },
        {
          "command": "i18n-ally.set-source-language",
          "when": "view =~ /i18n-ally-locales-progress/ && viewItem =~ /notsource/"
        },
        {
          "command": "i18n-ally.rename-key",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /node/ && viewItem =~ /writable/",
          "group": "i18nally@1"
        },
        {
          "command": "i18n-ally.duplicate-key",
          "when": "view =~ /i18n-ally-locales-tree/ && viewItem =~ /node/ && viewItem =~ /writable/",
          "group": "i18nally@2"
        },
        {
          "command": "i18n-ally.delete-key",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /node/ && viewItem =~ /writable/",
          "group": "i18nally@3"
        },
        {
          "command": "i18n-ally.locale-visibility-show",
          "when": "view =~ /i18n-ally-locales-progress/ && viewItem =~ /show/",
          "group": "inline@4"
        },
        {
          "command": "i18n-ally.locale-visibility-hide",
          "when": "view =~ /i18n-ally-locales-progress/ && viewItem =~ /hide/",
          "group": "inline@4"
        },
        {
          "command": "i18n-ally.delete-key",
          "when": "view =~ /i18n-ally-locales-usage/ && viewItem =~ /usage_idle/",
          "group": "i18nally@1"
        },
        {
          "command": "i18n-ally.mark-key-as-in-use",
          "when": "view =~ /i18n-ally-locales/ && viewItem =~ /key_idle/",
          "group": "i18nally@1"
        },
        {
          "command": "i18n-ally.open-docs-hard-string",
          "when": "viewItem =~ /i18n-ally-hard-string-root/",
          "group": "inline@1"
        },
        {
          "command": "i18n-ally.extract-text",
          "when": "viewItem =~ /i18n-ally-hard-string-item/",
          "group": "inline@1"
        },
        {
          "command": "i18n-ally.extract-hard-strings-batch",
          "when": "viewItem =~ /i18n-ally-hard-string-root/",
          "group": "i18nally@1"
        },
        {
          "command": "i18n-ally.extract-disable-auto-detect",
          "when": "viewItem =~ /i18n-ally-hard-string-root/ && i18n-ally.extract.autoDetect == true",
          "group": "i18nally@2"
        },
        {
          "command": "i18n-ally.extract-enable-auto-detect",
          "when": "viewItem =~ /i18n-ally-hard-string-root/ && i18n-ally.extract.autoDetect == false",
          "group": "i18nally@2"
        }
      ],
      "view/title": [
        {
          "command": "i18n-ally.refresh-usage",
          "group": "navigation",
          "when": "view =~ /i18n-ally-locales-usage/"
        },
        {
          "command": "i18n-ally.new-key",
          "group": "navigation",
          "when": "view =~ /i18n-ally-locales-tree/"
        }
      ],
      "explorer/context": [
        {
          "command": "i18n-ally.extract-hard-strings-batch",
          "group": "1_i18nally@1"
        }
      ],
      "comments/commentThread/title": [
        {
          "command": "i18n-ally.review.resolve-thread",
          "group": "navigation",
          "when": "commentController == i18n-ally-review && !commentThreadIsEmpty"
        }
      ],
      "comments/commentThread/context": [
        {
          "command": "i18n-ally.review.approve",
          "group": "inline@1",
          "when": "commentController == i18n-ally-review"
        },
        {
          "command": "i18n-ally.review.request-change",
          "group": "inline@2",
          "when": "commentController == i18n-ally-review"
        },
        {
          "command": "i18n-ally.review.comment",
          "group": "inline@3",
          "when": "commentController == i18n-ally-review"
        }
      ],
      "comments/comment/title": [
        {
          "command": "i18n-ally.review.edit",
          "group": "group@1",
          "when": "commentController == i18n-ally-review && viewItem =~ /self/"
        },
        {
          "command": "i18n-ally.review.resolve",
          "group": "group@2",
          "when": "commentController == i18n-ally-review"
        }
      ],
      "comments/comment/context": []
    },
    "viewsContainers": {
      "activitybar": [
        {
          "id": "i18n-ally",
          "title": "%extname%",
          "icon": "./res/logo-view-container.svg"
        }
      ]
    },
    "views": {
      "explorer": [
        {
          "id": "i18n-ally-locales-file-explorer",
          "name": "%view.i18n_keys%",
          "when": "i18n-ally-enabled"
        }
      ],
      "i18n-ally": [
        {
          "id": "i18n-ally-locales-sidebar-file",
          "name": "%view.current_file%",
          "when": "i18n-ally-enabled"
        },
        {
          "id": "i18n-ally-locales-progress",
          "name": "%view.progress%",
          "when": "i18n-ally-enabled"
        },
        {
          "id": "i18n-ally-locales-tree",
          "name": "%view.tree%",
          "when": "i18n-ally-enabled"
        },
        {
          "id": "i18n-ally-locales-usage",
          "name": "%view.usage%",
          "when": "i18n-ally-enabled"
        },
        {
          "id": "i18n-ally-help-feedback",
          "name": "%view.help_feedback%",
          "when": "i18n-ally-enabled"
        }
      ]
    },
    "configuration": {
      "type": "object",
      "title": "%extname%",
      "properties": {
        "i18n-ally.disabled": {
          "type": "boolean",
          "default": false,
          "description": "%config.disabled%"
        },
        "i18n-ally.autoDetection": {
          "type": "boolean",
          "default": true,
          "description": "%config.auto_detection%"
        },
        "i18n-ally.localesPaths": {
          "type": [
            "string",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "%config.locales_paths%",
          "scope": "resource"
        },
        "i18n-ally.encoding": {
          "type": "string",
          "default": "utf-8",
          "description": "%config.encoding%"
        },
        "i18n-ally.sourceLanguage": {
          "type": "string",
          "description": "%config.source_language%"
        },
        "i18n-ally.displayLanguage": {
          "type": "string",
          "description": "%config.display_language%"
        },
        "i18n-ally.ignoredLocales": {
          "type": "array",
          "description": "%config.ignored_locales%"
        },
        "i18n-ally.keystyle": {
          "type": "string",
          "enum": [
            "auto",
            "nested",
            "flat"
          ],
          "description": "%config.keystyle%"
        },
        "i18n-ally.dirStructure": {
          "type": "string",
          "enum": [
            "auto",
            "file",
            "dir"
          ],
          "description": "%config.dir_structure%"
        },
        "i18n-ally.annotations": {
          "type": "boolean",
          "default": true,
          "description": "%config.annotations%"
        },
        "i18n-ally.annotationInPlace": {
          "type": "boolean",
          "default": true,
          "description": "%config.annotation_in_place%"
        },
        "i18n-ally.annotationMaxLength": {
          "type": "number",
          "default": 40,
          "description": "%config.annotation_max_length%"
        },
        "i18n-ally.annotationDelimiter": {
          "type": "string",
          "default": "·",
          "description": "%config.annotation_delimiter%"
        },
        "i18n-ally.includeSubfolders": {
          "type": "boolean",
          "default": true,
          "description": "%config.include_subfolders%"
        },
        "i18n-ally.fullReloadOnChanged": {
          "type": "boolean",
          "default": false,
          "description": "%config.full_reload_on_changed%"
        },
        "i18n-ally.showFlags": {
          "type": "boolean",
          "default": true,
          "description": "%config.show_flags%"
        },
        "i18n-ally.enabledFrameworks": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "vue",
              "react",
              "vscode",
              "ngx-translate",
              "i18next",
              "react-i18next",
              "i18next-shopify",
              "i18n-tag",
              "flutter",
              "vue-sfc",
              "ember",
              "chrome-ext",
              "ruby-rails",
              "custom",
              "laravel",
              "transloco",
              "svelte",
              "globalize",
              "ui5",
              "next-translate",
              "php-gettext",
              "general",
              "lingui",
              "jekyll",
              "fluent-vue",
              "fluent-vue-sfc",
              "next-intl",
              "next-international"
            ]
          },
          "description": "%config.enabled_frameworks%"
        },
        "i18n-ally.enabledParsers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "js",
              "ts",
              "json",
              "json5",
              "yaml",
              "ini",
              "po",
              "php",
              "properties",
              "ftl"
            ]
          },
          "description": "%config.enabled_parsers%"
        },
        "i18n-ally.keysInUse": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "%config.keys_in_use%"
        },
        "i18n-ally.sortKeys": {
          "type": "boolean",
          "default": false,
          "description": "%config.sort_keys%"
        },
        "i18n-ally.sortCompare": {
          "type": "string",
          "enum": [
            "binary",
            "locale"
          ],
          "default": "binary",
          "description": "%config.sort_compare%"
        },
        "i18n-ally.sortLocale": {
          "type": "string",
          "description": "%config.sort_locale%"
        },
        "i18n-ally.preferredDelimiter": {
          "type": "string",
          "default": "-",
          "description": "%config.preferred_delimiter%"
        },
        "i18n-ally.readonly": {
          "type": "boolean",
          "default": false,
          "description": "%config.readonly%"
        },
        "i18n-ally.keepFulfilled": {
          "type": "boolean",
          "default": false,
          "description": "%config.keep_fulfill%"
        },
        "i18n-ally.localeCountryMap": {
          "type": "object",
          "default": {},
          "description": "%config.locale_country_map%"
        },
        "i18n-ally.indent": {
          "type": "number",
          "default": 2,
          "description": "%config.indent%"
        },
        "i18n-ally.disablePathParsing": {
          "type": "boolean",
          "default": false,
          "description": "%config.disable_path_parsing%"
        },
        "i18n-ally.tabStyle": {
          "type": "string",
          "default": "space",
          "enum": [
            "space",
            "tab"
          ],
          "description": "%config.tab_style%"
        },
        "i18n-ally.namespace": {
          "type": "boolean",
          "description": "%config.namespace%"
        },
        "i18n-ally.namespaceSeparator": {
          "type": "string",
          "default": ".",
          "description": "%config.namespaceSeparator%"
        },
        "i18n-ally.pathMatcher": {
          "type": "string",
          "description": "%config.path_matcher%"
        },
        "i18n-ally.languageTagSystem": {
          "type": "string",
          "enum": [
            "bcp47",
            "legacy",
            "none"
          ],
          "default": "bcp47",
          "description": "%config.language_tag_system%"
        },
        "i18n-ally.ignoreFiles": {
          "type": "array",
          "item": {
            "type": "string"
          },
          "description": "%config.ignore_files%"
        },
        "i18n-ally.theme.annotation": {
          "type": "string",
          "default": "rgba(153, 153, 153, .8)"
        },
        "i18n-ally.theme.annotationMissing": {
          "type": "string",
          "default": "rgba(153, 153, 153, .3)"
        },
        "i18n-ally.theme.annotationBorder": {
          "type": "string",
          "default": "rgba(153, 153, 153, .2)"
        },
        "i18n-ally.theme.annotationMissingBorder": {
          "type": "string",
          "default": "rgba(153, 153, 153, .2)"
        },
        "i18n-ally.regex.key": {
          "type": "string",
          "description": "%config.regex_key%"
        },
        "i18n-ally.regex.usageMatch": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "%config.regex_usage_match%"
        },
        "i18n-ally.regex.usageMatchAppend": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "%config.regex_usage_match_append%"
        },
        "i18n-ally.refactor.templates": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "enum": [
                  "html-attribute",
                  "html-inline",
                  "js-string",
                  "js-template",
                  "jsx-text"
                ]
              },
              "template": {
                "type": "string"
              },
              "templates": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "include": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "exclude": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "description": "%config.refactor_templates%"
        },
        "i18n-ally.translate.saveAsCandidates": {
          "type": "boolean",
          "default": false,
          "description": "%config.translate_save_as_candidates%"
        },
        "i18n-ally.translate.fallbackToKey": {
          "type": "boolean",
          "default": false,
          "description": "%config.translate.fallbackToKey%"
        },
        "i18n-ally.translate.engines": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "google",
              "google-cn",
              "deepl",
              "libretranslate",
              "baidu",
              "openai"
            ]
          },
          "default": [
            "google"
          ],
          "description": "%config.translate.engines%"
        },
        "i18n-ally.translate.parallels": {
          "type": "number",
          "default": 5,
          "description": "%config.translate.parallels%"
        },
        "i18n-ally.translate.promptSource": {
          "type": "boolean",
          "default": false,
          "description": "%config.prompt_translating_source%"
        },
        "i18n-ally.translate.overrideExisting": {
          "type": "boolean",
          "default": false,
          "description": "%config.translate_override_existing%"
        },
        "i18n-ally.translate.google.apiKey": {
          "type": "string",
          "default": null,
          "description": "%config.google_api_key%"
        },
        "i18n-ally.translate.deepl.apiKey": {
          "type": "string",
          "default": null,
          "description": "%config.deepl_api_key%"
        },
        "i18n-ally.translate.baidu.appid": {
          "type": "string",
          "default": null,
          "description": "%config.baidu_appid%"
        },
        "i18n-ally.translate.baidu.apiSecret": {
          "type": "string",
          "default": null,
          "description": "%config.baidu_app_secret%"
        },
        "i18n-ally.translate.deepl.enableLog": {
          "type": "boolean",
          "default": false,
          "description": "%config.deepl_log%"
        },
        "i18n-ally.translate.deepl.useFreeApiEntry": {
          "type": "boolean",
          "default": false,
          "description": "%config.deepl_use_free_api_entry%"
        },
        "i18n-ally.translate.libre.apiRoot": {
          "type": "string",
          "default": "http://localhost:5000",
          "description": "%config.libretranslate_api_root%"
        },
        "i18n-ally.translate.openai.apiKey": {
          "type": "string",
          "default": null,
          "description": "%config.openai_api_key%"
        },
        "i18n-ally.translate.openai.apiRoot": {
          "type": "string",
          "default": "https://api.openai.com",
          "description": "%config.openai_api_root%"
        },
        "i18n-ally.translate.openai.apiModel": {
          "type": "string",
          "default": "gpt-3.5-turbo",
          "enum": [
            "gpt-3.5-turbo",
            "gpt-3.5-turbo-16k",
            "gpt-3.5-turbo-0301",
            "gpt-3.5-turbo-0613",
            "gpt-4",
            "gpt-4-0314",
            "gpt-4-0613",
            "gpt-4-32k",
            "gpt-4-32k-0314",
            "gpt-4-32k-0613"
          ],
          "description": "%config.openai_api_model%"
        },
        "i18n-ally.usage.scanningIgnore": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "%config.usage.scanning_ignore%"
        },
        "i18n-ally.usage.derivedKeyRules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": null,
          "description": "%config.derived_keys%"
        },
        "i18n-ally.frameworks.ruby-rails.scopeRoot": {
          "type": "string",
          "default": "app/views"
        },
        "i18n-ally.parsers.typescript.tsNodePath": {
          "type": "string",
          "default": "node_modules/ts-node/dist/bin.js"
        },
        "i18n-ally.parsers.typescript.compilerOptions": {
          "type": "object",
          "default": {}
        },
        "i18n-ally.parsers.extendFileExtensions": {
          "type": "object",
          "default": {}
        },
        "i18n-ally.review.enabled": {
          "type": "boolean",
          "default": true,
          "description": "%config.review_enabled%"
        },
        "i18n-ally.review.gutters": {
          "type": "boolean",
          "default": true,
          "description": "%config.review_gutters%"
        },
        "i18n-ally.review.user.name": {
          "type": "string",
          "description": "%config.review_username%"
        },
        "i18n-ally.review.user.email": {
          "type": "string",
          "description": "%config.review_email%"
        },
        "i18n-ally.review.removeCommentOnResolved": {
          "type": "boolean",
          "default": false,
          "description": "%config.review_remove_on_resolved%"
        },
        "i18n-ally.editor.preferEditor": {
          "type": "boolean",
          "default": false,
          "description": "%config.editor_prefer_editor%"
        },
        "i18n-ally.extract.keygenStrategy": {
          "type": "string",
          "default": "slug",
          "enum": [
            "slug",
            "random",
            "empty",
            "source"
          ],
          "description": "%config.keygen_strategy%"
        },
        "i18n-ally.extract.keygenStyle": {
          "type": "string",
          "default": "default",
          "enum": [
            "default",
            "kebab-case",
            "snake_case",
            "camelCase",
            "PascalCase",
            "ALL_CAPS"
          ],
          "description": "%config.keygen_style%"
        },
        "i18n-ally.extract.keyPrefix": {
          "type": "string",
          "default": "",
          "description": "%config.key_prefix%"
        },
        "i18n-ally.extract.keyMaxLength": {
          "type": "number",
          "default": null,
          "description": "%config.key_max_length%"
        },
        "i18n-ally.extract.targetPickingStrategy": {
          "type": "string",
          "default": "none",
          "enum": [
            "none",
            "most-similar",
            "most-similar-by-key",
            "file-previous",
            "global-previous"
          ],
          "enumDescriptions": [
            "%config.target_picking_strategy.none%",
            "%config.target_picking_strategy.most-similar%",
            "%config.target_picking_strategy.file-previous%",
            "%config.target_picking_strategy.global-previous%",
            "%config.target_picking_strategy.most-similar-by-key%"
          ],
          "description": "%config.target_picking_strategy%"
        },
        "i18n-ally.extract.parsers.html": {
          "type": "object",
          "default": {},
          "description": "Parser options for extracting HTML, see https://github.com/lokalise/i18n-ally/blob/master/src/extraction/parsers/options.ts"
        },
        "i18n-ally.extract.parsers.babel": {
          "type": "object",
          "default": {},
          "description": "Parser options for extracting JS/TS/JSX/TSX, see https://github.com/lokalise/i18n-ally/blob/master/src/extraction/parsers/options.ts"
        },
        "i18n-ally.extract.autoDetect": {
          "type": "boolean",
          "default": false,
          "description": "Enables hard-coded strings detection automatically whenever opening a supported file"
        },
        "i18n-ally.extract.ignored": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Strings to be ignored on hard-coded strings detection"
        },
        "i18n-ally.extract.ignoredByFiles": {
          "type": "object",
          "default": {},
          "description": "Strings to be ignored on hard-coded strings detection, by files"
        },
        "i18n-ally.parserOptions": {
          "type": "object"
        },
        "i18n-ally.defaultNamespace": {
          "type": "string",
          "description": "%config.default_namespace%"
        },
        "i18n-ally.derivedKeyRules": {
          "deprecationMessage": "Deprecated. Use \"i18n-ally.usage.derivedKeyRules\" instead."
        },
        "i18n-ally.filenameMatchRegex": {
          "deprecationMessage": "Deprecated. Use \"i18n-ally.pathMatcher\" instead."
        },
        "i18n-ally.fileNamespace": {
          "deprecationMessage": "Deprecated. Use \"i18n-ally.namespace\" instead."
        },
        "i18n-ally.keyMatchRegex": {
          "deprecationMessage": "Deprecated. Use \"i18n-ally.regex.key\" instead."
        },
        "vue-i18n-ally.localesPaths": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.encoding": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.sourceLanguage": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.displayLanguage": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.ignoredLocales": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.keystyle": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.dirStructure": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.annotations": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.annotationMaxLength": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.annotationDelimiter": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.filenameMatchRegex": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.includeSubfolders": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.fullReloadOnChanged": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.sortKeys": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.preferredDelimiter": {
          "deprecationMessage": "%config.deprecated%"
        },
        "vue-i18n-ally.readonly": {
          "deprecationMessage": "%config.deprecated%"
        }
      }
    }
  },
  "standard-version": {
    "types": [
      {
        "type": "feat",
        "section": "⚡ Features"
      },
      {
        "type": "fix",
        "section": "🐞 Bug Fixes"
      },
      {
        "type": "refactor",
        "section": "🔮 Refactor"
      },
      {
        "type": "test",
        "section": "⚗ Tests"
      },
      {
        "type": "docs",
        "section": "📚 Documentations"
      },
      {
        "type": "i18n",
        "section": "🌍 Internationalization"
      },
      {
        "type": "ci",
        "hidden": true
      }
    ]
  },
  "packageManager": "yarn@1.22.19"
}
