<a id="html"></a>

# HTML files

#### Versionadded
Added in version 4.1.

The translatable content is extracted from the HTML files and offered for the translation.

#### NOTE
Unlike most other formats, the changes in the translation files will not be
imported to Weblate because it can not be done reliably. The source of truth
for the translations is Weblate not the translated file.

#### SEE ALSO
[HTML](https://docs.translatehouse.org/projects/translate-toolkit/en/latest/formats/html.html)

Example file:

```html
<html>
  <body>
    <p>Ahoj světe!</p>

    <p>Orangutan has five bananas.</p>

    <p>
      Try Weblate at <a href="https://demo.weblate.org/">weblate.org</a>!
    </p>

    <p>Thank you for using Weblate.</p>
  </body>
</html>
```

<!-- AUTOGENERATED START: format-features html -->
<!-- This section is automatically generated by `./manage.py list_format_features`. Do not edit manually. -->

#### Supported features

| File extensions                                                                                      | `.htm`, `.html`                                                                           |
|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| Linguality [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#bimono)                                   | Monolingual                                                                               |
| Supports plural [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#format-plurals)                      | `No`                                                                                      |
| Supports descriptions [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#format-description)            | `No`                                                                                      |
| Supports explanation [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#format-explanation)             | `No`                                                                                      |
| Supports context [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#format-context)                     | `No`                                                                                      |
| Supports location [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#format-location)                   | `No`                                                                                      |
| Supports flags [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#format-flags)                         | `No`                                                                                      |
| API identifier                                                                                       | `html`                                                                                    |
| Supports read-only strings [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#read-only-strings)        | `No`                                                                                      |
| Supports removing obsolete strings [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/formats.md#obsolete-strings) | `No`                                                                                      |
| Check flags added by this format [ⓘ](https://docs.weblate.org/en/weblate-2026.10.1/admin/checks.md#custom-checks)      | [Unsafe HTML](https://docs.weblate.org/en/weblate-2026.10.1/user/checks.md#check-safe-html), `strict-same` |
<!-- AUTOGENERATED END: format-features html -->

## Weblate configuration

|                                | Typical Weblate [Component configuration](https://docs.weblate.org/en/weblate-2026.10.1/admin/projects.md#component)   |
|--------------------------------|----------------------------------------------------------------------------------------------------|
| File mask                      | `path/*.html`                                                                                      |
| Monolingual base language file | `path/en.html`                                                                                     |
| Template for new translations  | `path/en.html`                                                                                     |
| File format                    | HTML file                                                                                          |
| File format parameters         | `html_merge_duplicates=True`                                                                       |

<a id="html-duplicates"></a>

## Handling duplicate strings

By default, Weblate treats each occurrence of a string as a separate
translation unit to provide line-based context. This can be problematic
in HTML files, where moving elements changes the context and can
lead to translation loss.

To consolidate identical strings into a single translation unit, enable
Deduplicate identical strings in the
[File format parameters](https://docs.weblate.org/en/weblate-2026.10.1/admin/projects.md#component-file-format-params).

#### NOTE
Enabling this option disables line-based context for the merged units,
ensuring that translations remain stable even if elements
are moved within the document.
