{% extends "base.html" %} {% block title %}Translation {{ job.id[:8] }}… — ICDEV™ Dashboard{% endblock %} {% block content %}

Translation Job: {{ job.source_language }} → {{ job.target_language }} {% if job.status == 'completed' %} Completed {% elif job.status == 'failed' %} Failed {% elif job.status == 'partial' %} Partial {% else %} {{ job.status|capitalize }} {% endif %}

{{ job.total_units or 0 }}
Total Units
{{ job.translated_units or 0 }}
Translated
{{ job.mocked_units or 0 }}
Mocked
{{ job.failed_units or 0 }}
Failed
{% if job.elapsed_seconds %}{{ "%.1f"|format(job.elapsed_seconds) }}s{% else %}—{% endif %}
Duration

Job Details

Job ID{{ job.id }}
Project ID{{ job.project_id or '—' }}
Source{{ job.source_language }} — {{ job.source_path or '—' }}
Target{{ job.target_language }} — {{ job.output_path or '—' }}
LLM Model{{ job.llm_model or '—' }}
TokensInput: {{ job.llm_tokens_input or 0 }} / Output: {{ job.llm_tokens_output or 0 }}
Gate Result {% if job.gate_result == 'pass' %} Pass {% elif job.gate_result == 'warn' %} Warn {% elif job.gate_result == 'fail' %} Fail {% else %}—{% endif %}
Created{{ job.created_at or '—' }}
{% if validations %}

Validation Results

{% for v in validations %} {% endfor %}
Check Status Score Findings
{{ v.check_type|replace('_', ' ')|title }} {% if v.passed %} Pass {% else %} Fail {% endif %} {{ "%.1f"|format((v.score or 0) * 100) }}% {% if v.findings %}
{{ (v.findings|from_json|length if v.findings else 0) }} findings
    {% for f in (v.findings|from_json)[:5] %}
  • {{ f }}
  • {% endfor %}
{% else %}—{% endif %}
{% endif %} {% if units %}

Translation Units ({{ units|length }})

{% for u in units %} {% endfor %}
Name Kind Source File Status Complexity Repairs
{{ u.unit_name }} {{ u.unit_kind }} {{ u.source_file or '—' }} {% if u.status == 'translated' %} Translated {% elif u.status == 'mocked' %} Mocked {% elif u.status == 'failed' %} Failed {% else %} {{ u.status|capitalize }} {% endif %} {{ u.source_complexity or '—' }} {% if u.target_complexity %} → {{ u.target_complexity }}{% endif %} {{ u.repair_count or 0 }}
{% endif %} {% if deps %}

Dependency Mappings ({{ deps|length }})

{% for d in deps %} {% endfor %}
Source Import Target Import Source Confidence Domain
{{ d.source_import }} {{ d.target_import or '—' }} {% if d.mapping_source == 'table' %} Table {% elif d.mapping_source == 'llm_suggested' %} LLM {% elif d.mapping_source == 'unmapped' %} Unmapped {% else %} {{ d.mapping_source }} {% endif %} {{ ((d.confidence or 0) * 100)|round(0)|int }}% {{ d.domain or '—' }}
{% endif %} {% endblock %}