---
layout: base
description: Progress of translations.
---

Cell format:
<code
  >&lt;template&nbsp;sentence&nbsp;count&gt; + &lt;used&nbsp;responses&gt; /
  &lt;defined&nbsp;responses&gt;</code
><br>
<table>
  <tr>
    <td class="usable"> </td>
    <td>Important intents covered</td>
  </tr>
  <tr>
    <td class="zero"> </td>
    <td>Uncovered intent</td>
  </tr>
  <tr>
    <td class="zero important"> </td>
    <td>Uncovered important intent</td>
  </tr>
  <tr>
    <td>⭐️</td>
    <td>Complete coverage</td>
  </tr>
</table>
<table>
  <thead>
    <tr>
      <th>Language</th>
      {% for intent in intentSummary.languages.en.intents %}
      <th>{{intent[0] | remove_first: "Hass"}}</th>
      {% endfor %}
      <th>Errors translated</th>
      <th>Leader</th>
    </tr>
  </thead>
  <tbody>
    {% for item in intentSummary.languages %}
    {% assign summary = item[1] %}
    <tr class="{% if summary.usable %}usable{% endif %}">
      <td>
        <a
          href="https://github.com/OHF-Voice/intents/blob/main/sentences/{{ summary.language }}/"
          target="_blank"
        >
          <code>{{summary.language}}</code> {{summary.native_name}}
          {% if summary.complete %}⭐️{% endif %}
        </a>
      </td>

      {% for intent in summary.intents %}
      <td class="multiple {% if intent[1] == 0 %}zero{% endif %} {% if intentSummary.intents[intent[0]].important %}important{% endif %}">
        <a
          href="https://github.com/OHF-Voice/intents/blob/main/sentences/{{ summary.language }}/{{ intentSummary.intents[intent[0]].file_name }}"
          target="_blank"
        >
          {{intent[1]}}
        </a>
        +
        <a
          href="https://github.com/OHF-Voice/intents/blob/main/responses/{{ summary.language }}/{{ intent[0] }}.yaml"
          target="_blank"
          class="{% if intent[1] > 0 and summary.intent_responses_translated[intent[0]] == false %}zero{% endif %}"
        >
          {{summary.used_responses[intent[0]]}}/{{summary.responses[intent[0]]}}
        </a>
      </td>
      {% endfor %}

      <td class="{% if summary.errors_translated != true %}zero{% endif %}">
        <a
          href="https://github.com/OHF-Voice/intents/blob/main/sentences/{{ summary.language }}/_common.yaml"
          target="_blank"
        >
          {% if summary.errors_translated == true %}yes{% else %}no{% endif %}
        </a>
      </td>
      <td
        class="{% if summary.leaders and (summary.leaders | len) > 1 %}multiple{% endif %}"
      >
        {% if summary.leaders %} {% for leader in summary.leaders %}
        <a href="https://github.com/{{ leader }}" target="_blank">
          @{{ leader }}
        </a>
        {% endfor %} {% else %}
        <a
          href="https://developers.home-assistant.io/docs/voice/language-leaders/"
          target="_blank"
        >
          &lt;position open&gt;
        </a>
        {% endif %}
      </td>
    </tr>
    {% endfor %}
  </tbody>
</table>
<p><i>Every cell in the table links to the relevant file.</i></p>

<h2>Road to complete ⭐️</h2>
List of languages that are usable, but not yet complete.
<table>
  <thead>
    <tr>
      <th>Language</th>
      <th>Missing</th>
      <th>Intents</th>
    </tr>
  </thead>
  {% for language in intentSummary.improvements_complete %}
  {% assign summary = intentSummary.languages[language] %}
  <tr>
    <td>
      <a
        href="https://github.com/OHF-Voice/intents/blob/main/sentences/{{ summary.language }}/"
        target="_blank"
      >
        <code>{{summary.language}}</code> {{summary.native_name}}
      </a>

    </td>
    <td>{{ intentSummary.languages[language].missing_complete_intents | size }}</td>
    <td style="text-align: left; padding-left: 16px;">
      {% for intent in intentSummary.languages[language].missing_complete_intents %}
        {{ intent }}{% if forloop.last == false %}, {% endif %}
      {% endfor %}
    </td>
  </tr>
  {% endfor %}
</table>

<h2>Road to Team 💚</h2>
List of languages that are missing important intent coverage.
<table>
  <thead>
    <tr>
      <th>Language</th>
      <th>Missing</th>
      <th>Intents</th>
    </tr>
  </thead>
  {% for language in intentSummary.improvements_usable %}
  {% assign summary = intentSummary.languages[language] %}
  <tr>
    <td>
      <a
        href="https://github.com/OHF-Voice/intents/blob/main/sentences/{{ summary.language }}/"
        target="_blank"
      >
        <code>{{summary.language}}</code> {{summary.native_name}}
      </a>

    </td>
    <td>{{ intentSummary.languages[language].missing_usable_intents | size }}</td>
    <td style="text-align: left; padding-left: 16px;">
      {% for intent in intentSummary.languages[language].missing_usable_intents %}
        {{ intent }}{% if forloop.last == false %}, {% endif %}
      {% endfor %}
    </td>
  </tr>
  {% endfor %}
</table>

<h2>Empty language files</h2>
<table>
  <thead>
    <tr>
      <th>Language</th>
      <th>Leader</th>
    </tr>
  </thead>
  {% for summary in intentSummary.empty_languages %}
  <tr>
    <td>
      <a
        href="https://github.com/OHF-Voice/intents/blob/main/sentences/{{ summary.language }}/"
        target="_blank"
      >
        <code>{{summary.language}}</code> {{summary.native_name}}
      </a>
    </td>
    <td
      class="{% if summary.leaders and (summary.leaders | len) > 1 %}multiple{% endif %}"
    >
      {% if summary.leaders %} {% for leader in summary.leaders %}
      <a href="https://github.com/{{ leader }}" target="_blank">
        @{{ leader }}
      </a>
      {% endfor %} {% else %}
      <a
        href="https://developers.home-assistant.io/docs/voice/language-leaders/"
        target="_blank"
      >
        &lt;position open&gt;
      </a>
      {% endif %}
    </td>
  </tr>
  {% endfor %}
</table>
