- #553: Audit and verify localizations (en/es), replace hardcoded strings - #549: Incomplete profile banner in Find Shifts (staff app) - #550: File restriction banner on document upload page - #551: File restriction banner on certificate upload page - #552: File restriction banner on attire upload page - #492: Hide edit icon for past/completed orders (client app) - #524: Display worker benefits in staff app - Add test credentials to seed: testclient@gmail.com, staff +1-555-555-1234 - Fix document upload validation (context arg in _validatePdfFile on submit) - Add PR_LOCALIZATION.md Made-with: Cursor
37 lines
1.8 KiB
Markdown
37 lines
1.8 KiB
Markdown
# PR: Localize all user-facing strings (#553)
|
||
|
||
## Summary
|
||
All user-facing strings in the mobile apps have been localized. English and Spanish translations are provided via `core_localization` (Slang).
|
||
|
||
## Changes
|
||
|
||
### i18n (en.i18n.json & es.i18n.json)
|
||
- **common**: `file_not_found`, `error_occurred`, `gallery`, `camera`, `english`, `spanish`
|
||
- **staff_profile_attire.capture**: Attire capture flow (attest, validation, status, filters)
|
||
- **staff_certificates.upload_modal**: `name_hint`, `issuer_hint`
|
||
- **staff_documents**: `file_not_found`, `unknown`
|
||
- **staff_shifts.my_shift_card**: `checked_in`, `submit_for_approval`, `timesheet_submitted`, `submitted`, `ready_to_submit`
|
||
- **staff_shifts.shift_details**: `eligibility_requirements`
|
||
- **staff_shifts.shift_location**: `could_not_open_maps`
|
||
- **staff_shifts.my_shifts_tab**: `swap_coming_soon`
|
||
- **staff_clock_in**: `map_view_gps`
|
||
- **client_orders_common**: `select_vendor`, `hub`, `order_name`, `no_vendors`, `no_vendors_desc`
|
||
- **client_view_orders.order_edit_sheet**: Section headers and labels
|
||
|
||
### Staff app
|
||
- **Attire**: `attire_capture_page`, `image_preview_section`, `attire_page` – all hardcoded strings replaced
|
||
- **Certificates**: `certificate_upload_page` – file validation, hint text
|
||
- **Documents**: `document_upload_page`, `documents_page` – file not found, unknown error
|
||
- **Shifts**: `my_shift_card` (status, timesheet), `my_shifts_tab` (swap message), `shift_location_section`, `shift_details_page`
|
||
- **Clock-in**: `location_map_placeholder` – Map View (GPS)
|
||
|
||
### Client app
|
||
- **Orders**: `order_edit_sheet` – ORDER NAME, HUB, SELECT VENDOR section headers
|
||
|
||
### Slang
|
||
- Ran `dart run slang` to regenerate i18n code
|
||
|
||
## Verification
|
||
- Slang generation succeeds
|
||
- All affected Dart files use `context.t` or `Translations.of(context)` for user-facing strings
|