{% extends "base.html" %} {% load translations %} {% load permissions %} {% load crispy_forms_tags %} {% load i18n %} {% load humanize %} {% load metrics %} {% block breadcrumbs %}
  • {{ object.component.project }}
  • {% include "snippets/component-breadcrumb.html" with object=object.component %} {% include "snippets/translation-breadcrumb.html" %} {% endblock %} {% block content %} {% announcements component=object.component language=object.language %} {% include "snippets/component/state.html" with object=object.component %} {% include "snippets/watch-dropdown.html" with project=object.component.project component=object.component %} {% perm 'meta:vcs.status' object as user_can_see_repository_status %} {% perm 'upload.overwrite' object as user_can_overwrite_translation %} {% perm 'upload.perform' object as user_can_upload_translation %} {% perm 'unit.add' object as user_can_add_unit %} {% get_translate_url object as translate_url %} {% url "translate" project=object.component.project.slug component=object.component.slug lang=object.language.code as edit_url %} {% url "zen" project=object.component.project.slug component=object.component.slug lang=object.language.code as zen_url %} {% url "browse" project=object.component.project.slug component=object.component.slug lang=object.language.code as browse_url %}

    {% if object.is_source %} {% trans "Source strings" %} {% else %} {% trans "Translation status" %} {% endif %}

    {{ object.stats.all|intcomma }} {% trans "Strings" %} {{ object.stats.translated_percent|percent_format }}
    {{ object.stats.all_words|intcomma }} {% trans "Words" %} {{ object.stats.translated_words_percent|percent_format }}
    {% if object.is_source %} {% endif %}

    {% documentation_icon 'user/translating' 'strings-to-check' right=True %} {% trans "Strings status" %}

    {% for query, name, count, color, words in object.list_translation_checks %} {% endfor %}
    {{ count|intcomma }}
    {% if color %}
    {% endif %}
    {{ name }} — {% blocktrans with count=words|intcomma count cnt=words %}{{ count }} word{% plural %}{{ count }} words{% endblocktrans %} {% trans "Browse" %} {% trans "Translate" %} {% trans "Zen" %}
    {% if other_translations %}

    {% trans "Other components" %}

    {% include "snippets/list-objects.html" with objects=other_translations name_source="component_name" label=_("Component") %}
    {% endif %}
    {% include "snippets/info.html" with project=object.component.project component=object.component translation=object stats=object.stats metrics=object|metrics %}
    {% include "last-changes-content.html" %} {% trans "Browse all translation changes" %}
    {% if autoform %}

    {% documentation_icon 'user/translating' 'auto-translation' right=True %} {% trans "Automatic translation" %}

    {% trans "Automatic translation takes existing translations in this project and applies them to the current component. It can be used to push translations to a different branch, to fix inconsistent translations or to translate a new component using translation memory." %}

    {% trans "Automatic translation via machine translation uses active machine translation engines to get the best possible translations and applies them in this project." %}

    {% crispy autoform %}
    {% endif %} {% if replace_form %}

    {% documentation_icon 'user/translating' 'search-replace' right=True %} {% trans "Search and replace" %}

    {% crispy replace_form %}
    {% endif %} {% if bulk_state_form %}

    {% documentation_icon 'user/translating' 'bulk-edit' right=True %} {% trans "Bulk edit" %}

    {% crispy bulk_state_form %}
    {% endif %} {% if user_can_add_unit %}

    {{ object.component.get_add_label }}

    {% if obj.is_source %}

    {% trans "You can add a new translation string here, it will automatically appear in all translations." %}

    {% endif %} {% csrf_token %} {{ new_unit_form|crispy }}
    {% endif %}

    {% documentation_icon 'user/files' 'download' right=True %} {% trans "Quick downloads" %}

    {% for exporter in exporters %} {% endfor %} {% if object.stats.todo %} {% for exporter in exporters %} {% endfor %} {% endif %}
    {{ object.stats.all|intcomma }} {% trans "File in original format as translated in the repository" %} {{ object.component.file_format_name }}
    {{ object.stats.all|intcomma }} {% trans "All strings, converted files enriched with comments; suitable for offline translation" %} {{ exporter.verbose }}
    {{ object.stats.todo|intcomma }} {% trans "Unfinished strings, converted files enriched with comments; suitable for offline translation" %} {{ exporter.verbose }}

    {% documentation_icon 'user/files' 'download' right=True %} {% trans "Customize download" %}

    {% crispy download_form %}
    {% if user_can_upload_translation %}

    {% documentation_icon 'user/files' 'upload' right=True %} {% trans "Upload" %}

    {% if user_can_overwrite_translation %}

    {% trans "The uploaded file will be merged with the current translation. In case you want to overwrite already translated strings, don't forget to turn it on." %}

    {% else %}

    {% trans "The uploaded file will be merged with the current translation." %}

    {% endif %} {% csrf_token %} {% crispy form %}
    {% endif %} {% if announcement_form %}

    {% documentation_icon 'admin/announcements' right=True %} {% trans "Post announcement" %}

    {% csrf_token %} {{ announcement_form|crispy }}

    {% trans "The message is shown on the translation page, until its given expiry, or deletion." %}

    {% endif %} {% if delete_form %} {% include "trans/delete-form.html" %} {% endif %} {% if user_can_see_repository_status %}

    {% trans "Loading…" %}

    {% endif %}
    {% endblock %}