Skip to content

@intlify/vue-i18n/no-raw-text

disallow to string literal in template or JSX

  • ⭐ The "extends": "plugin:@intlify/vue-i18n/recommended" or *.configs["flat/recommended"] property in a configuration file enables this rule.

This rule warns the usage of literal the bellow:

  • string literal
  • template literals (no epressions, plain text only)

This rule encourage i18n in about the application needs to be localized.

📖 Rule Details

👎 Examples of incorrect code for this rule:

template option:

template block of single-file components:

JSX:

👍 Examples of correct code for this rule:

template option:

template block of single-file components:

JSX:

⚙️ Options

json
{
  "@intlify/vue-i18n/no-raw-text": [
    "error",
    {
      "attributes": {
        "/.+/": [
          "title",
          "aria-label",
          "aria-placeholder",
          "aria-roledescription",
          "aria-valuetext"
        ],
        "input": ["placeholder"],
        "img": ["alt"]
      },
      "ignoreNodes": ["md-icon", "v-icon"],
      "ignorePattern": "^[-#:()&]+$",
      "ignoreText": ["EUR", "HKD", "USD"]
    }
  ]
}
  • attributes: An object whose keys are tag name or patterns and value is an array of attributes to check for that tag name. Default empty.
  • ignoreNodes: specify nodes to ignore such as icon components. Default empty.
  • ignorePattern: specify a regexp pattern that matches strings to ignore. Default none.
  • ignoreText: specify an array of strings to ignore. Default empty.

attributes

🚀 Version

This rule was introduced in @intlify/eslint-plugin-vue-i18n v0.2.0

🔍 Implementation