Storefront Language Experience
Language Switcher
When 2 or more languages are active, a language dropdown appears automatically in the store navigation bar showing each language name — for example English, العربية, Français.
Customers click the dropdown, select a language, and the page reloads with all content in that language.
Locale Session Flow
- Customer selects a language from the switcher.
- Their locale is stored in the session.
- On every page load the system checks the current locale.
- For a non-default locale, translations load from the database and replace product names, descriptions, category names, and more.
- For the default locale, translations are not loaded at all — zero performance impact.
Missing-Translation Fallback
If a translation is missing for a field, the default language value shows as fallback — customers never see a blank field.
Caching and Performance
Translations are cached for 10 minutes per locale. The first visitor in a new locale triggers a database query; subsequent visitors use the cache.
Troubleshooting
Translations not showing on the storefront? Ask your provider to run php artisan view:clear, then re-open the item and confirm the language tab has saved content.
Switcher not showing? You need at least 2 active languages in Settings → Languages, and the plugin must be enabled.

