Flutex stores interface translations in ARB files under lib/l10n/. The inspected source includes English, Arabic, Spanish, French, German, and Hindi resources.
Edit the relevant app_<language>.arb file. Preserve message keys, placeholders, and accompanying metadata. Translate the displayed text without changing the API field names or permission keys used by the code.
Generate localization output with:
Do not edit generated app_localizations*.dart files directly.
Create the new ARB resource using the English template’s keys and placeholder structure. Review the language list in lib/app/constants.dart, language flag assets, and the app’s supported-locale configuration so customers can select it.
Regenerate, rebuild, and verify that the language appears in the language selector.
Test long labels, validation messages, plurals, dates, and right-to-left layouts. Do not assume that translating interface text translates customer-entered CRM content or server-provided document text.
Keep route paths, JSON keys, permission values such as invoices, and backend error codes unchanged. Those are integration identifiers; only their displayed descriptions should be localized.
When adding features, update every supported translation resource so customers do not see a mix of languages or missing messages.