feat: implement i18n for HeuristicTestView and fix SettingsView runtime #1471
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



fixes #1294
Summary
This PR completes full internationalization (i18n) for the HeuristicTestView component across all supported languages and fixes a critical runtime crash in SettingsView.vue.
Key Changes
Internationalization for HeuristicTestView
• Full Locale Coverage
Added 20+ new translation keys to all 10 supported locale files:
en, es, hi, de, fr, pt_br, ar, ja, ru, zh.
• Standardized Locale Structure
Unified the HeuristicsTestView section across all locale files, organizing keys into:
• messages
• errors
• actions
• headers
This ensures structural consistency and easier long-term maintenance.
• Component Updates
Refactored HeuristicTestView.vue to replace all hardcoded strings with $t() calls, covering:
• Section headers
• Button labels
• Status messages
• Alert and empty-state text
• Improved Fallback Handling
Added safer fallback logic for heuristics and questions missing titles, ensuring the UI remains localized even when data is incomplete.
Bug Fixes in SettingsView.vue
• Runtime Crash Fix
Resolved a critical runtime error (Cannot read properties of undefined (reading 'siteURL')) caused by an invalid reference to a non-existent websiteDetails object.
• Null-Safety Improvements
Updated the study data watcher to safely handle transient undefined states during page load, preventing crashes in SettingsView.vue and shared components such as the Final Report view.
Confirmation & Testing
• Localization Validation
Verified that all 10 locale files contain the required keys and share the same structure.
• Runtime Stability
Confirmed that SettingsView.vue and dependent views no longer crash due to undefined data.
• Build Status
Application builds and runs successfully with no new linting or runtime errors.
SCREENSHOTS

BEFORE
AFTER
