Skip to content

[Feature] : Implement Internationalization (i18n) Architecture  #43

@Muneerali199

Description

@Muneerali199

🌟 Feature Description

I propose implementing a scalable Internationalization (i18n) Framework for the Djed Alliance website. Currently, the platform is strictly English-only. To truly function as a global alliance for the Djed stablecoin protocol, the interface must support multiple languages (specifically Spanish, Chinese, and Japanese for key crypto markets).

This issue is not just about translating text, but about setting up the technical infrastructure to allow seamless switching between languages.

🔍 Problem Statement

  1. Adoption Barrier: A significant portion of the DeFi community in LATAM and Asia cannot comfortably access the educational resources and documentation on this site.
  2. Hardcoded Strings: Content is likely embedded directly in the HTML/JSX. This makes it impossible for non-technical community members to contribute translations via simple Pull Requests.
  3. Scalability: Without an i18n framework, creating a "Spanish Version" would require duplicating the entire project, which is unmaintainable.

🎯 Expected Outcome

The goal is to modularize the content so the site can support any number of languages in the future.

  1. Locale Management: Separation of text content into structured JSON files (e.g., locales/en.json, locales/es.json).
  2. Language Switcher UI: A dropdown component in the Navigation Bar allowing users to toggle languages.
  3. State Persistence: The user's language preference should be saved (via localStorage) so the site remains in their chosen language on return visits.
  4. Routing (Optional): Support for localized routes (e.g., djed.xyz/es/) for better SEO.

📷 Screenshots and Design Ideas

Proposed UI:

  • Location: Top-right corner of the Navbar.
  • Icon: A "Globe" 🌐 icon.
  • Interaction:
    • Clicking the icon opens a small dropdown menu.
    • Options: English, Español, 中文, 日本語.
    • Upon selection, the text updates dynamically without a hard page reload (if using a framework like React/Vue) or redirects to the correct localized page.

Technical Structure (Example):

// locales/en.json
{
  "hero_title": "The Djed Alliance",
  "cta_button": "Join the Community"
}

// locales/es.json
{
  "hero_title": "La Alianza Djed",
  "cta_button": "Únete a la Comunidad"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions