{# templates/_language_row.html — one optional detection-language row. Context: `lang` = {code, name, installed, ui_state, reason?}, `token`. Self-swaps via outerHTML so polling / download replace this element. #}
{{ _(lang.label_key) if lang.label_key else lang.name }} {% if lang.mac_app %} {{ lang.installed_size_label if lang.installed else lang.download_size_label }} {% endif %} {% if lang.ui_state == "installed" %} ✓ {{ _('settings.lang.installed') }} {% if lang.mac_app %} {% endif %} {% elif lang.ui_state == "done_restart" %} ✓ {{ _('settings.lang.restart_hint') }} {% elif lang.ui_state == "running" %}
{% if lang.install_phase == "checking" %} {{ _('settings.lang.checking_local') }} {% elif lang.install_phase == "importing" %} {{ _('settings.lang.importing') }} {{ lang.progress_percent }}% {% else %} {{ _('settings.lang.downloading') }} {{ lang.progress_percent }}% {% endif %}
{% elif lang.ui_state == "cancelling" %}
{{ _('settings.lang.cancelling') }}
{% elif lang.ui_state == "failed" %} {{ _(lang.reason_key) if lang.reason_key else _('settings.lang.failed') }} {% else %}{# available #} {% endif %}