# FE-05 — Bilingual (ID/EN) — SetLocale Middleware & Switcher

**Category:** frontend_ux  
**Status:** ok

---

## Verified — Helpers (`app/Helpers/helpers.php`)
- `locale_field($field)` — returns `$field . '_' . $locale` ✓
- `setting($key, $default)` — global helper ✓
- `active_locale()` — returns current locale ✓
- `is_locale_en()` — boolean check ✓
- `image_url($path)` — proper asset/storage URL ✓

## Verified — Middleware (`app/Http/Middleware/SetLocale.php`)
- Reads locale from: (1) URL prefix `/en`, (2) session, (3) fallback to config ✓
- Stores to session ✓

## Verified — Switcher (`LanguageSwitchController.php`)
- Stores locale to session ✓
- Redirects back to previous page ✓

## Verified — View (`app.blade.php` lang switcher)
- Switcher in topbar: ID | EN links via `route('lang.switch', 'id')` ✓
- Active locale highlighted with `text-crius-blue-light font-bold` ✓

## Verified — Usage in Views
- All dynamic content uses `locale_field('name')` or direct `name_id`/`name_en` ✓
- Static strings use inline ternary `is_locale_en() ? '...' : '...'` consistent pattern ✓

**Verdict:** Bilingual implementation complete and consistent across all layers.
