Why this matters
Enables localization and consistent copy.
Do not hardcode UI strings; use I18n keys with proper scopes.
Enables localization and consistent copy.
Side-by-side examples engineers can pattern-match during review.
flash[:alert] = "Invalid login"flash[:alert] = t("sessions.invalid_login")render plain: "Done"render plain: t('common.done')From the same buckets as this rule.