Skip to content

i18n: extract hardcoded strings and add translations #102

@JohnRDOrazio

Description

@JohnRDOrazio

Summary

We have next-intl installed and configured, and an English message file (messages/en.json) with a basic set of keys. However, the vast majority of frontend strings are still hardcoded in components rather than using useTranslations() / t() calls.

Current state

  • next-intl is set up with locale routing (app/[locale]/)
  • Only messages/en.json exists — no other languages
  • The message file covers a small subset of keys (common, auth, nav, ontology, class, property, collab, git, errors)
  • Most component strings are hardcoded in English and do not use the translation functions

Work needed

  1. Audit components for hardcoded user-facing strings (buttons, labels, headings, tooltips, error messages, placeholders, etc.)
  2. Extract strings into messages/en.json under appropriate namespaces, and replace hardcoded text with t() calls
  3. Add at least one additional locale to validate the full i18n pipeline end-to-end
  4. Add a language switcher UI component

Acceptance criteria

  • No user-facing strings are hardcoded in components
  • All strings are organized in messages/en.json with clear namespaces
  • At least one additional language file exists (e.g. messages/it.json)
  • Language switcher is available in the UI
  • next-intl locale detection and routing work correctly

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions