Skip to content

MAGIK-923: Multi-Language Translation Files (en, es, ar, am, ti) #102

@MAGIKBIT

Description

@MAGIKBIT

Story 2 — Multi-Language Translation Files

Epic: EPIC-010 — Global Internationalization & Multi-Language Support (GitHub #100)
Priority: P0

User Story

As a MagikTap user, I want all UI labels, messages, and notifications available in my language (English, Spanish, Arabic, Amharic, or Tigrigna), so I can use the platform comfortably.

Requirements

Translation File Structure

Create Language/{locale}/{group}.php files for all 5 locales:

Language/
├── en/
│   ├── common.php      # Shared: buttons, labels, pagination, errors
│   ├── auth.php        # Login, register, password reset
│   ├── dashboard.php   # Dashboard widgets, stats, greetings
│   ├── cards.php       # Card list, card details, NFC
│   ├── profile.php     # Profile settings, social links, bio
│   ├── notifications.php # Notification types, actions
│   ├── leads.php       # Lead management, capture forms
│   ├── tickets.php     # Support tickets, statuses
│   ├── finance.php     # Plans, payments, subscriptions, commissions
│   └── admin.php       # Admin-specific labels, user management
├── es/                 # (same structure — Spanish)
├── ar/                 # (same structure — Arabic)
├── am/                 # (same structure — Amharic)
└── ti/                 # (same structure — Tigrigna)

Key Count Estimates

Group ~Keys Description
common 80+ Buttons (Save, Cancel, Delete), pagination, table headers, form labels
auth 30+ Login form, registration, password reset, validation messages
dashboard 40+ Widget titles, stat labels, greeting templates
cards 35+ Card list columns, card actions, NFC instructions
profile 45+ Settings tabs, social link labels, bio placeholder
notifications 25+ Notification types, mark read, delete, empty state
leads 30+ Lead columns, filters, capture form fields
tickets 30+ Ticket status, priority labels, reply actions
finance 50+ Plan names, pricing, subscription status, commission labels
admin 40+ User management, reseller management, system settings
Total ~405 Per locale

Translation Quality

  • English: developer-authored (source of truth)
  • Spanish: professional-grade translations
  • Arabic: professional-grade translations with RTL context notes
  • Amharic: native speaker translations (Ge'ez script: ግዕዝ)
  • Tigrigna: native speaker translations (Ge'ez script: ግዕዝ)

Acceptance Criteria

# Criteria Priority
1 All 10 translation groups created for en locale P0
2 All 10 translation groups created for es, ar, am, ti P0
3 Keys are consistent across all 5 locales P0
4 Ge'ez script characters render correctly (UTF-8) P0
5 Parameterized strings use {0}, {1} placeholders P1
6 Pluralization rules handle locale-specific cases P2

Files to Create

  • 50 files: Language/{en,es,ar,am,ti}/{common,auth,dashboard,cards,profile,notifications,leads,tickets,finance,admin}.php

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