{# Language Selector Macros ======================== Reusable language selector components for store dashboard and storefront. Usage: {% from 'shared/macros/language_selector.html' import language_selector, language_selector_compact %} Full language selector with labels: language_selector(current_language='fr', enabled_languages=['fr', 'de', 'en'], position='right') Compact selector (flag only): language_selector_compact(current_language='fr', enabled_languages=['fr', 'de', 'en']) #} {# Language configuration - matches app/utils/i18n.py Uses native language names per LANG-005 architecture rule #} {% set LANGUAGE_NAMES = { 'en': 'English', 'fr': 'Français', 'de': 'Deutsch', 'lb': 'Lëtzebuergesch' } %} {% set LANGUAGE_NATIVE = { 'en': 'English', 'fr': 'Français', 'de': 'Deutsch', 'lb': 'Lëtzebuergesch' } %} {% set LANGUAGE_FLAGS = { 'en': 'gb', 'fr': 'fr', 'de': 'de', 'lb': 'lu' } %} {# Language Selector (Full) ======================== A dropdown language selector showing flag and language name. Parameters: - current_language: Current language code (default: 'fr') - enabled_languages: List of enabled language codes (default: all) - position: 'left' | 'right' (default: 'right') - context: 'store' | 'shop' | 'admin' (affects API endpoint) - show_label: Show language name next to flag (default: true) #} {% macro language_selector(current_language='fr', enabled_languages=none, position='right', context='shop', show_label=true) %} {% set langs = enabled_languages or ['en', 'fr', 'de', 'lb'] %} {% set current = current_language if current_language in langs else langs[0] %} {% set positions = {'left': 'left-0', 'right': 'right-0'} %} {# Uses languageSelector() function per LANG-002 architecture rule #} {# Use single quotes for x-data so JSON double quotes don't break the attribute #}
Language used as fallback when content is not available in the requested language.
Default language for your store dashboard (team members can override in their profile).
Default language shown to customers when they first visit your store.
Languages available to customers in the language selector.