You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[no-unlocalized-strings](docs/rules/no-unlocalized-strings.md)| Detects user-visible strings not wrapped in Lingui macros. Uses TypeScript types to automatically ignore technical strings like string literal unions, DOM APIs, and Intl methods. | ✅ |
95
-
|[no-single-variable-message](docs/rules/no-single-variable-message.md)| Disallows messages that consist only of variables without surrounding text. Such messages provide no context for translators. | ✅ |
96
-
|[no-single-tag-message](docs/rules/no-single-tag-message.md)| Disallows `<Trans>` components that contain only a single JSX element without text. The wrapped element should have surrounding text for context. | ✅ |
95
+
|[no-single-variables-to-translate](docs/rules/no-single-variables-to-translate.md)| Disallows messages that consist only of variables without surrounding text. Such messages provide no context for translators. | ✅ |
96
+
|[no-single-tag-to-translate](docs/rules/no-single-tag-to-translate.md)| Disallows `<Trans>` components that contain only a single JSX element without text. The wrapped element should have surrounding text for context. | ✅ |
97
97
|[no-nested-macros](docs/rules/no-nested-macros.md)| Prevents nesting Lingui macros inside each other (e.g., `t` inside `<Trans>`). Nested macros create invalid message catalogs and confuse translators. | ✅ |
98
-
|[no-complex-expressions-in-message](docs/rules/no-complex-expressions-in-message.md)| Restricts embedded expressions to simple identifiers only. Complex expressions like `${user.name}` or `${formatPrice(x)}` must be extracted to named variables first. | ✅ |
99
-
|[valid-t-call-location](docs/rules/valid-t-call-location.md)| Ensures `t` macro calls are inside functions or class properties, not at module scope. Module-level calls execute before i18n is initialized and won't update on locale change. | ✅ |
98
+
|[no-expression-in-message](docs/rules/no-expression-in-message.md)| Restricts embedded expressions to simple identifiers only. Complex expressions like `${user.name}` or `${formatPrice(x)}` must be extracted to named variables first. | ✅ |
99
+
|[t-call-in-function](docs/rules/t-call-in-function.md)| Ensures `t` macro calls are inside functions or class properties, not at module scope. Module-level calls execute before i18n is initialized and won't update on locale change. | ✅ |
100
100
|[consistent-plural-format](docs/rules/consistent-plural-format.md)| Enforces consistent plural value format — either `#` hash syntax or `${var}` template literals throughout the codebase. | ✅ |
101
101
|[text-restrictions](docs/rules/text-restrictions.md)| Enforces project-specific text restrictions with custom patterns and messages. Requires configuration. | — |
102
102
103
103
## Migrating from eslint-plugin-lingui
104
104
105
-
This plugin is a TypeScript-focused alternative to the official [eslint-plugin-lingui](https://github.com/lingui/eslint-plugin-lingui). Here are the key differences:
105
+
This plugin is a TypeScript-focused alternative to the official [eslint-plugin-lingui](https://github.com/lingui/eslint-plugin-lingui). Rule names are compatible where possible, making migration straightforward.
106
106
107
107
### Key Differences
108
108
@@ -128,10 +128,10 @@ This plugin is a TypeScript-focused alternative to the official [eslint-plugin-l
0 commit comments