# i18n Migration Backlog

## Completed in this phase

- Unified i18n bootstrap in ACP and votesystem.
- Added four locale catalogs (`pt_BR`, `en_US`, `es_ES`, `ru_RU`).
- URL + cookie/session language persistence.
- Dynamic `html lang` for critical templates.
- Hardcoded locale/currency cleanup for `admin/vote-balance`.
- votesystem language engine replaced by shared helper.

## Next migration waves

1. Convert all ACP legacy free-text calls from `_('...')` to semantic keys (`module.section.key`).
2. Expand catalogs with all keys from:
   - `views/lottery.php`
   - `views/settings.php`
   - `views/index.php`
   - admin views under `views/admin/`
3. Remove `helpers/translations.php` and XML fallback after full key migration.
4. Optional: remove old Gettext `.po` dependency once key catalogs cover all screens.
