# Audio/Subtitle Language Flags Overlay

The `languages` Default Overlay File is used to create an overlay of a flag and [ISO 639-1 Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) based on the audio/subtitle languages available on each item within your library.

**This file works with Movie and Show Libraries.**

**Designed for [TRaSH Guides](https://trash-guides.info/) filename naming scheme.**

![](images/language.png)

## Supported Audio/Subtitle Language Flags

| Audio/Subtitle Languages | Key  | Weight | Default Flag | Default Use |
|:-------------------------|:-----|:-------|:-------------|:-----------:|
| English                  | `en` | `610`  | `us`         |   &#9989;   |
| German                   | `de` | `600`  | `de`         |   &#9989;   |
| French                   | `fr` | `590`  | `fr`         |   &#9989;   |
| Spanish                  | `es` | `580`  | `es`         |   &#9989;   |
| Portuguese               | `pt` | `570`  | `pt`         |   &#9989;   |
| Japanese                 | `ja` | `560`  | `jp`         |   &#9989;   |
| Korean                   | `ko` | `550`  | `kr`         |  &#10060;   |
| Chinese                  | `zh` | `540`  | `cn`         |  &#10060;   |
| Danish                   | `da` | `530`  | `dk`         |  &#10060;   |
| Russian                  | `ru` | `520`  | `ru`         |  &#10060;   |
| Italian                  | `it` | `510`  | `it`         |  &#10060;   |
| Hindi                    | `hi` | `500`  | `in`         |  &#10060;   |
| Telugu                   | `te` | `490`  | `in`         |  &#10060;   |
| Farsi                    | `fa` | `480`  | `ir`         |  &#10060;   |
| Thai                     | `th` | `470`  | `th`         |  &#10060;   |
| Dutch                    | `nl` | `460`  | `nl`         |  &#10060;   |
| Norwegian                | `no` | `450`  | `no`         |  &#10060;   |
| Icelandic                | `is` | `440`  | `is`         |  &#10060;   |
| Swedish                  | `sv` | `430`  | `se`         |  &#10060;   |
| Turkish                  | `tr` | `420`  | `tr`         |  &#10060;   |
| Polish                   | `pl` | `410`  | `pl`         |  &#10060;   |
| Czech                    | `cs` | `400`  | `cz`         |  &#10060;   |
| Ukrainian                | `uk` | `390`  | `ua`         |  &#10060;   |
| Hungarian                | `hu` | `380`  | `hu`         |  &#10060;   |
| Arabic                   | `ar` | `370`  | `eg`         |  &#10060;   |
| Bulgarian                | `bg` | `360`  | `bg`         |  &#10060;   |
| Bengali                  | `bn` | `350`  | `bd`         |  &#10060;   |
| Bosnian                  | `bs` | `340`  | `ba`         |  &#10060;   |
| Catalan                  | `ca` | `330`  | `es`         |  &#10060;   |
| Welsh                    | `cy` | `320`  | `uk`         |  &#10060;   |
| Greek                    | `el` | `310`  | `gr`         |  &#10060;   |
| Estonian                 | `et` | `300`  | `ee`         |  &#10060;   |
| Basque                   | `eu` | `290`  | `es`         |  &#10060;   |
| Finnish                  | `fi` | `280`  | `fi`         |  &#10060;   |
| Filipino                 | `fl` | `270`  | `ph`         |  &#10060;   |
| Galician                 | `gl` | `260`  | `es`         |  &#10060;   |
| Hebrew                   | `he` | `250`  | `il`         |  &#10060;   |
| Croatian                 | `hr` | `240`  | `hr`         |  &#10060;   |
| Indonesian               | `id` | `230`  | `id`         |  &#10060;   |
| Georgian                 | `ka` | `220`  | `ge`         |  &#10060;   |
| Kazakh                   | `kk` | `210`  | `kz`         |  &#10060;   |
| Kannada                  | `kn` | `200`  | `in`         |  &#10060;   |
| Latin                    | `la` | `190`  | `it`         |  &#10060;   |
| Lithuanian               | `lt` | `180`  | `lt`         |  &#10060;   |
| Latvian                  | `lv` | `170`  | `lv`         |  &#10060;   |
| Macedonian               | `mk` | `160`  | `mk`         |  &#10060;   |
| Malayalam                | `ml` | `150`  | `in`         |  &#10060;   |
| Marathi                  | `mr` | `140`  | `in`         |  &#10060;   |
| Malay                    | `ms` | `130`  | `my`         |  &#10060;   |
| Norwegian Nokmål         | `nb` | `120`  | `no`         |  &#10060;   |
| Norwegian Nynorsk        | `nn` | `110`  | `no`         |  &#10060;   |
| Punjabi                  | `pa` | `100`  | `in`         |  &#10060;   |
| Romanian                 | `ro` | `90`   | `ro`         |  &#10060;   |
| Slovak                   | `sk` | `80`   | `sk`         |  &#10060;   |
| Slovenian                | `sl` | `70`   | `si`         |  &#10060;   |
| Albanian                 | `sq` | `60`   | `al`         |  &#10060;   |
| Serbian                  | `sr` | `50`   | `rs`         |  &#10060;   |
| Swahili                  | `sw` | `40`   | `tz`         |  &#10060;   |
| Tamil                    | `ta` | `30`   | `in`         |  &#10060;   |
| Urdu                     | `ur` | `20`   | `pk`         |  &#10060;   |
| Vietnamese               | `vi` | `10`   | `vn`         |  &#10060;   |

### Square Style

Below is a screenshot of the alternative Square (`square`) style which can be set via the `style` template variable.

![](images/language2.png)

### Half Style

Below is a screenshot of the alternative Half (`half`) style which can be set via the `style` template variable.

![](images/language3.png)

## Config

The below YAML in your config.yml will create the overlays:

```yaml
libraries:
  Movies:
    overlay_path:
      - pmm: languages
  TV Shows:
    overlay_path:
      - pmm: languages
      - pmm: languages
        template_variables:
          overlay_level: season
      - pmm: languages
        template_variables:
          overlay_level: episode
```

## Template Variables

Template Variables can be used to manipulate the file in various ways to slightly change how it works without having to make your own local copy.

Note that the `template_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.

All [Shared Overlay Variables](../overlay_variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.

| Variable            | Default                      |
|:--------------------|:-----------------------------|
| `horizontal_offset` | `15`/`206`/`397`/`588`/`779` |
| `horizontal_align`  | `left`/`right`/`center`      |
| `vertical_offset`   | `15`/`76`/`137`/`198`/`259`  |
| `vertical_align`    | `top`/`bottom`/`center`      |
| `back_color`        | `#00000099`                  |
| `back_radius`       | `26`/` `                     |
| `back_width`        | `190`                        |
| `back_height`       | `105`                        |
| `back_align`        | `left`/`right`               |
| `font`              | `fonts/Inter-Bold.ttf`       |
| `font_size`         | `50`                         |

| Variable                      | Description & Values                                                                                                                                                                                                                                                                                                          |
|:------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `languages`                   | **Description:** Controls which Languages will be active.<br>**Default:** `["en", "de", "fr", "es", "pt", "ja"]` <br>**Values:** List of [ISO 639-1 Codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the Languages desired                                                                                   |
| `use_subtitles`               | **Description:** Controls if the overlay is based on subtitle language instead of audio language.<br>**Values:** `true` to look at subtitle language instead of audio language                                                                                                                                                |
| `overlay_level`               | **Description:** Choose the Overlay Level.<br>**Values:** `season` or `episode`                                                                                                                                                                                                                                               |
| `horizontal_position`         | **Description:** Choose the horizontal position for the flag group.<br>**Default:** `left`<br>**Values:** `left`, `left2`, `center`, `center_left`, `center_right`, `right` or `right2`                                                                                                                                       |
| `vertical_position`           | **Description:** Choose the vertical position for the flag group.<br>**Default:** `top`<br>**Values:** `top`, `top2`, `top3`, `center`, `center_top`, `center_bottom`, `bottom`, `bottom2` or `bottom3`                                                                                                                       |
| `overlay_limit`               | **Description:** Choose the number of overlay this queue displays.<br>**Default:** `3`<br>**Values:** `1`, `2`, `3`, `4`, or `5`                                                                                                                                                                                              |
| `group_alignment`             | **Description:** Choose the display alignment for the flag group.<br>**Default:** `vertical`<br>**Values:** `horizontal`, or `vertical`                                                                                                                                                                                       |
| `style`                       | **Description:** Controls the visual theme of the overlays created.<table class="clearTable"><tr><th>Values:</th></tr><tr><td><code>round</code></td><td>Round Theme</td></tr><tr><td><code>square</code></td><td>Square Theme</td></tr><tr><td><code>half</code></td><td>Square Flag with Round Background</td></tr></table> |
| `flag_alignment`              | **Description:** Controls the flag alignment in the backdrop.<br>**Default:** `left`<br>**Values:** `left` or `right`                                                                                                                                                                                                         |
| `offset`                      | **Description:** Controls the offset between the flag and the text.<br>**Default:** `10`<br>**Values:** Any Integer 0 or greater                                                                                                                                                                                              |
| `use_lowercase`               | **Description:** Controls if the overlay display is in lowercase.<br>**Values:** `true` to use lowercase text                                                                                                                                                                                                                 |
| `position`                    | **Description:** Use the Custom Given Queue instead of the the provided Queues.<br>**Values:** List of Coordinates                                                                                                                                                                                                            |
| `country_<<key>>`<sup>1</sup> | **Description:** Controls the country image for the Overlay.<br>**Default:** Listed in the [Table](#supported-audiosubtitle-language-flags) above<br>**Values:** [ISO 3166-1 Country Code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) for the flag desired                                                 |
| `weight_<<key>>`<sup>1</sup>  | **Description:** Controls the weight of the Overlay. Higher numbers have priority.<br>**Values:** Any Number                                                                                                                                                                                                                  |

1. Each default overlay has a `key` that when calling to effect a specific collection you must replace `<<key>>` with when calling.

The below is an example config.yml extract with some Template Variables added in to change how the file works.

```yaml
libraries:
  Movies:
    overlay_path:
      - pmm: languages
        template_variables:
          languages:
            - en
            - ja
          use_subtitles: true
          style: square
```
