Skip to content

Latest commit

 

History

History
54 lines (37 loc) · 1.58 KB

no-translation-key-interpolation.md

File metadata and controls

54 lines (37 loc) · 1.58 KB

Disallow string interpolation in translation keys (square/no-translation-key-interpolation)

💼 This rule is enabled in the 🔥 ember config.

Using string interpolation for constructing translation keys makes it difficult to search for them to determine where and if they are used.

Rule Details

This rule disallows string interpolation for constructing translation keys, particularly with calls to the ember-intl service t helper.

Examples

Examples of incorrect code for this rule:

this.intl.t(`key.${variable}`);

Examples of correct code for this rule:

this.intl.t('some.translation.key');
function getStatusString(status) {
  switch (status) {
    case Status.INVALID_EMAIL: {
      return this.intl.t('error.email');
    }
    case Status.INVALID_PHONE: {
      return this.intl.t('error.phone');
    }
    default: {
      return this.intl.t('error.unknown');
    }
  }
}

Configuration

This rule takes an optional object containing:

  • string -- serviceName -- optional override for service name to look for (default is intl)
  • boolean -- enforceStringLiteralKeys -- optional override to restrict translation keys to only string literals (when disabled, function calls and variables are allowed) (default is false)

References