You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1.4 KiB

Multi-Language Translation Synchronization Rule - Aqila Admin Panel

Whenever adding, updating, or modifying any text, table header, button label, modal message, toast notification, or string in aqila_panel:

  1. Mandatory 100% Language Parity across 3 Locales:

    • Any new translation key or modified string MUST be updated across ALL THREE locale files simultaneously in src/locales/:
      • src/locales/fa.json (Persian)
      • src/locales/ar.json (Arabic)
      • src/locales/en.json (English)
    • Zero missing, extra, or empty keys (fa.json, ar.json, and en.json must have perfectly symmetrical key trees).
    • All changes must pass the automated translation test (src/locales/__tests__/locales.test.ts via scripts/check-translations.js).
  2. Text Modification & Word Parity Consistency:

    • Whenever words are added, removed, or modified in any text (e.g. omitting file extensions, shortening labels, updating status messages), the exact same conceptual and grammatical change MUST be reflected across all 3 files.
    • Do not leave raw English text or placeholder strings in Persian or Arabic files.
  3. Zero Hardcoded Text in UI Components:

    • No hardcoded strings in React components, Ant Design or Tailwind elements, table columns, action buttons, or notification toasts. All copy must be fetched via useTranslation.
    • Ensure RTL/LTR alignment and smart bidirectional input handling via rtlUtils.ts.