Skip to content

Regex Usage Match ​

Customize how i18n Ally Next detects i18n keys in your source code using regex patterns.

How It Works ​

The extension uses regex patterns to find i18n function calls like t("key") in your code. Each framework provides default patterns, but you can override or extend them.

Override All Patterns ​

Replace all framework-provided patterns:

jsonc
// .vscode/settings.json
{
  "i18n-ally-next.regex.usageMatch": [
    "\\Wt\\(\\s*['\"`]({key})['\"`]",
    "\\Wi18n\\.t\\(\\s*['\"`]({key})['\"`]"
  ]
}

Append Patterns ​

Add extra patterns without replacing the defaults:

jsonc
{
  "i18n-ally-next.regex.usageMatchAppend": [
    "\\WformatMessage\\(\\s*\\{\\s*id:\\s*['\"`]({key})['\"`]"
  ]
}

Pattern Syntax ​

  • Use {key} as the placeholder — it will be replaced with the key matching regex
  • The first capture group ($1) must be the key
  • Patterns are applied with the gm flags (global, multiline)
  • Use \\W (non-word character) to avoid matching inside variable names

Custom Key Regex ​

By default, keys match [\\w.-]+ (word characters, dots, hyphens). Override it:

jsonc
{
  "i18n-ally-next.regex.key": "[\\w.:-]+"
}

This is useful when your keys contain special characters like : for namespaces.

Examples ​

Vue I18n $t() ​

jsonc
{
  "i18n-ally-next.regex.usageMatchAppend": [
    "\\$t\\(\\s*['\"`]({key})['\"`]"
  ]
}

React <FormattedMessage id="..." /> ​

jsonc
{
  "i18n-ally-next.regex.usageMatchAppend": [
    "\\Wid=['\"`]({key})['\"`]"
  ]
}

Custom Function translate() ​

jsonc
{
  "i18n-ally-next.regex.usageMatchAppend": [
    "\\Wtranslate\\(\\s*['\"`]({key})['\"`]"
  ]
}

Released under the MIT License.