# Translations needed

The currently available translations are in the lang dir. This table shows the completeness of those translations. Anything not listed does not exist yet, so go ahead and create it by copying `en.json`.

If you add or update a translation run `npm run docs:lang` to update the list and include this modified doc in the pull request.

## Progress Bar Translations

The progress bar has a translation with a few token replacements.
They key is `progress bar timing: currentTime={1} duration={2}` and the default English value is `{1} of {2}`.
This default value is hardcoded as a default to the localize method in the SeekBar component.

## Status of translations

<!-- START langtable -->

| Language file           | Missing translations                                                                |
| ----------------------- | ----------------------------------------------------------------------------------- |
| ar.json (missing 3)     | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| ba.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| bg.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| ca.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| cs.json (missing 4)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| cy.json (missing 4)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| da.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| de.json (Complete)      |                                                                                |
| el.json (missing 49)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Volume Level                                                                        |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| es.json (Complete)      |                                                                                |
| eu.json (Complete)      |                                                                                |
| fa.json (Complete)      |                                                                                |
| fi.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| fr.json (missing 4)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| gd.json (missing 2)     | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| gl.json (missing 2)     | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| he.json (missing 5)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| hi.json (Complete)      |                                                                                |
| hr.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| hu.json (Complete)      |                                                                                |
| it.json (missing 6)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Casual                                                                              |
|                         | Script                                                                              |
| ja.json (missing 6)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Casual                                                                              |
|                         | Script                                                                              |
| ko.json (missing 7)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Dropshadow                                                                          |
|                         | Casual                                                                              |
|                         | Script                                                                              |
| lv.json (Complete)      |                                                                                |
| nb.json (missing 2)     | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| nl.json (missing 5)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| nn.json (missing 2)     | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| oc.json (missing 2)     | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| pl.json (missing 11)    | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | {1} is loading.                                                                     |
| pt-BR.json (missing 2)  | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
| pt-PT.json (missing 48) | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Volume Level                                                                        |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| ro.json (Complete)      |                                                                                |
| ru.json (Complete)      |                                                                                |
| sk.json (missing 4)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| sl.json (missing 6)     | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
| sr.json (missing 63)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Replay                                                                              |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Descriptions                                                                        |
|                         | descriptions off                                                                    |
|                         | Audio Track                                                                         |
|                         | Volume Level                                                                        |
|                         | The media is encrypted and we do not have the keys to decrypt it.                   |
|                         | Play Video                                                                          |
|                         | Close                                                                               |
|                         | Close Modal Dialog                                                                  |
|                         | Modal Window                                                                        |
|                         | This is a modal window                                                              |
|                         | This modal can be closed by pressing the Escape key or activating the close button. |
|                         | , opens captions settings dialog                                                    |
|                         | , opens subtitles settings dialog                                                   |
|                         | , opens descriptions settings dialog                                                |
|                         | , selected                                                                          |
|                         | captions settings                                                                   |
|                         | subtitles settings                                                                  |
|                         | descriptions settings                                                               |
|                         | Text                                                                                |
|                         | White                                                                               |
|                         | Black                                                                               |
|                         | Red                                                                                |
|                         | Green                                                                               |
|                         | Blue                                                                                |
|                         | Yellow                                                                              |
|                         | Magenta                                                                             |
|                         | Cyan                                                                                |
|                         | Background                                                                          |
|                         | Window                                                                              |
|                         | Transparent                                                                         |
|                         | Semi-Transparent                                                                    |
|                         | Opaque                                                                              |
|                         | Font Size                                                                           |
|                         | Text Edge Style                                                                     |
|                         | None                                                                                |
|                         | Raised                                                                              |
|                         | Depressed                                                                           |
|                         | Uniform                                                                             |
|                         | Dropshadow                                                                          |
|                         | Font Family                                                                         |
|                         | Proportional Sans-Serif                                                             |
|                         | Monospace Sans-Serif                                                                |
|                         | Proportional Serif                                                                  |
|                         | Monospace Serif                                                                     |
|                         | Casual                                                                              |
|                         | Script                                                                              |
|                         | Small Caps                                                                          |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | Done                                                                                |
|                         | Caption Settings Dialog                                                             |
|                         | Beginning of dialog window. Escape will cancel and close the window.                |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| sv.json (missing 2)     | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| te.json (Complete)      |                                                                                |
| th.json (Complete)      |                                                                                |
| tr.json (missing 13)    | Audio Player                                                                        |
|                         | Video Player                                                                        |
|                         | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Progress Bar                                                                        |
|                         | progress bar timing: currentTime={1} duration={2}                                   |
|                         | Volume Level                                                                        |
|                         | Reset                                                                               |
|                         | restore all settings to the default values                                          |
|                         | End of dialog window.                                                               |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| uk.json (missing 4)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| vi.json (missing 5)     | Seek to live, currently behind live                                                 |
|                         | Seek to live, currently playing live                                                |
|                         | {1} is loading.                                                                     |
|                         | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |
| zh-CN.json (Complete)   |                                                                                |
| zh-TW.json (missing 2)  | Exit Picture-in-Picture                                                             |
|                         | Picture-in-Picture                                                                  |

<!-- END langtable -->


QUnit.test('featuresVideoFrameCallback is false for audio elements', function(assert) {

const el = document.createElement('audio');

assert.strictEqual(audioTech.featuresVideoFrameCallback, false, 'Html5 with audio element should not support rvf');

keep keep keep replace keep keep keep keep keep

/**
 * @file obj.js
 * @module obj
 */

/**
 * @callback obj:EachCallback
 *
 * @param {Mixed} value
 *        The current key for the object that is being iterated over.
 *
 * @param {string} key
 *        The current key-value for object that is being iterated over
 */

/**
 * @callback obj:ReduceCallback
 *
 * @param {Mixed} accum
 *        The value that is accumulating over the reduce loop.
 *
 * @param {Mixed} value
 *        The current key for the object that is being iterated over.
 *
 * @param {string} key
 *        The current key-value for object that is being iterated over
 *
 * @return {Mixed}
 *         The new accumulated value.
 */
const toString = Object.prototype.toString;

/**
 * Get the keys of an Object
 *
 * @param {Object}
 *        The Object to get the keys from
 *
 * @return {string[]}
 *         An array of the keys from the object. Returns an empty array if the
 *         object passed in was invalid or had no keys.
 *
 * @private
 */
const keys = function(object) {
  return isObject(object) ? Object.keys(object) : [];
};

/**
 * Array-like iteration for objects.
 *
 * @param {Object} object
 *        The object to iterate over
 *
 * @param {obj:EachCallback} fn
 *        The callback function which is called for each key in the object.
 */
export function each(object, fn) {
  keys(object).forEach(key => fn(object[key], key));
}

/**
 * Array-like reduce for objects.
 *
 * @param {Object} object
 *        The Object that you want to reduce.
 *
 * @param {Function} fn
 *         A callback function which is called for each key in the object. It
 *         receives the accumulated value and the per-iteration value and key
 *         as arguments.
 *
 * @param {Mixed} [initial = 0]
 *        Starting value
 *
 * @return {Mixed}
 *         The final accumulated value.
 */
export function reduce(object, fn, initial = 0) {
  return keys(object).reduce((accum, key) => fn(accum, object[key], key), initial);
}

/**
 * Object.assign-style object shallow merge/extend.
 *
 * @param  {Object} target
 * @param  {Object} ...sources
 * @return {Object}
 */
export function assign(target, ...sources) {
  if (Object.assign) {
    return Object.assign(target, ...sources);
  }

  sources.forEach(source => {
    if (!source) {
      return;
    }

    each(source, (value, key) => {
      target[key] = value;
    });
  });

  return target;
}

/**
 * Returns whether a value is an object of any kind - including DOM nodes,
 * arrays, regular expressions, etc. Not functions, though.
 *
 * This avoids the gotcha where using `typeof` on a `null` value
 * results in `'object'`.
 *
 * @param  {Object} value
 * @return {boolean}
 */
export function isObject(value) {
  return !!value && typeof value === 'object';
}

/**
 * Returns whether an object appears to be a "plain" object - that is, a
 * direct instance of `Object`.
 *
 * @param  {Object} value
 * @return {boolean}
 */
export function isPlain(value) {
  return isObject(value) &&
    toString.call(value) === '[object Object]' &&
    value.constructor === Object;
}


/**
 * @file sub-caps-button.js
 */
import TextTrackButton from './text-track-button.js';
import Component from '../../component.js';
import CaptionSettingsMenuItem from './caption-settings-menu-item.js';
import SubsCapsMenuItem from './subs-caps-menu-item.js';
import {toTitleCase} from '../../utils/string-cases.js';
/**
 * The button component for toggling and selecting captions and/or subtitles
 *
 * @extends TextTrackButton
 */
class SubsCapsButton extends TextTrackButton {

  constructor(player, options = {}) {
    super(player, options);

    // Although North America uses "captions" in most cases for
    // "captions and subtitles" other locales use "subtitles"
    this.label_ = 'subtitles';
    if (['en', 'en-us', 'en-ca', 'fr-ca'].indexOf(this.player_.language_) > -1) {
      this.label_ = 'captions';
    }
    this.menuButton_.controlText(toTitleCase(this.label_));
  }

  /**
   * Builds the default DOM `className`.
   *
   * @return {string}
   *         The DOM `className` for this object.
   */
  buildCSSClass() {
    return `vjs-subs-caps-button ${super.buildCSSClass()}`;
  }

  buildWrapperCSSClass() {
    return `vjs-subs-caps-button ${super.buildWrapperCSSClass()}`;
  }

  /**
   * Create caption/subtitles menu items
   *
   * @return {CaptionSettingsMenuItem[]}
   *         The array of current menu items.
   */
  createItems() {
    let items = [];

    if (!(this.player().tech_ && this.player().tech_.featuresNativeTextTracks) &&
      this.player().getChild('textTrackSettings')) {
      items.push(new CaptionSettingsMenuItem(this.player_, {kind: this.label_}));

      this.hideThreshold_ += 1;
    }

    items = super.createItems(items, SubsCapsMenuItem);
    return items;
  }

}

/**
 * `kind`s of TextTrack to look for to associate it with this menu.
 *
 * @type {array}
 * @private
 */
SubsCapsButton.prototype.kinds_ = ['captions', 'subtitles'];

/**
 * The text that should display over the `SubsCapsButton`s controls.
 *
 *
 * @type {string}
 * @private
 */
SubsCapsButton.prototype.controlText_ = 'Subtitles';

Component.registerComponent('SubsCapsButton', SubsCapsButton);
export default SubsCapsButton;


"description": "Encode/Decode base64 strings"

insomnia-plugin-file

Insomnia file templte tag


import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import autobind from 'autobind-decorator';
import styled from 'styled-components';

const StyledButton = styled.button`
  display: flex;
  min-width: 15rem;
  font-size: var(--font-size-md);
  text-align: left;
  padding-right: var(--padding-md);
  padding-left: var(--padding-sm);
  height: var(--line-height-xs);
  width: 100%;
  color: var(--color-font) !important;
  background-color: var(--color-bg);
  white-space: nowrap;
  margin: 0;
  border: 0;

  &:hover:not(:disabled),
  &:active:not(:disabled) {
    background: var(--hl-xs);
  }

  &:active:not(:disabled) {
    background: var(--hl-md);
  }

  &:disabled {
     opacity: 0.5;
  }
`;

const StyledRightNode = styled.span`
  display: flex;
  align-items: center;
  color: var(--hl-xl);
  margin-left: auto;
  padding-left: var(--padding-lg);
`;

const StyledInner = styled.div`
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: row;
`;

const StyledText = styled.div`
  white-space: nowrap;

  & > *:not(:first-child) {
    margin-left: 0.3em;
  }
`;

const StyledIconContainer = styled.div`
  display: flex;
  align-items: center;
  padding-left: var(--padding-xs);
  padding-right: var(--padding-md);
`;

@autobind
class DropdownItem extends PureComponent {
  _handleClick(e) {
    const { stayOpenAfterClick, onClick, disabled } = this.props;

    if (stayOpenAfterClick) {
      e.stopPropagation();
    }

    if (!onClick || disabled) {
      return;
    }

    if (this.props.hasOwnProperty('value')) {
      onClick(this.props.value, e);
    } else {
      onClick(e);
    }
  }

  render() {
    const {
      buttonClass,
      children,
      className,
      color,
      disabled,
      right,
      icon,
      onClick, // eslint-disable-line no-unused-vars
      stayOpenAfterClick, // eslint-disable-line no-unused-vars
      ...props
    } = this.props;

    const styles = color ? { color } : {};

    const inner = (
      <StyledInner className={className}>
        <StyledText style={styles}>
          {children}
        </StyledText>
      </StyledInner>
    );

    return (
      <StyledButton
        className={buttonClass}
        type="button"
        onClick={this._handleClick}
        disabled={disabled}
        {...props}>
        {icon && <StyledIconContainer>{icon}</StyledIconContainer>}
        {inner}
        {right && (
          <StyledRightNode>
            {right}
          </StyledRightNode>
        )}
      </StyledButton>
    );
  }
}

DropdownItem.propTypes = {
  buttonClass: PropTypes.any,
  stayOpenAfterClick: PropTypes.bool,
  value: PropTypes.any,
  disabled: PropTypes.bool,
  onClick: PropTypes.func,
  children: PropTypes.node,
  icon: PropTypes.node,
  right: PropTypes.node,
  className: PropTypes.string,
  color: PropTypes.string,
};

export default DropdownItem;


// @flow
import * as React from 'react';
import autobind from 'autobind-decorator';
import { Dropdown, DropdownButton, DropdownDivider, DropdownItem } from '../base/dropdown';
import { showError } from '../modals';
import type { DocumentAction } from '../../../plugins';
import { getDocumentActions } from '../../../plugins';
import * as pluginContexts from '../../../plugins/context';
import { RENDER_PURPOSE_NO_RENDER } from '../../../common/render';
import type { ApiSpec } from '../../../models/api-spec';
import { parseApiSpec } from '../../../common/api-specs';

type Props = {
  apiSpec: ?ApiSpec,
  children: ?React.Node,
  handleDuplicateWorkspaceById: (workspaceId: string) => any,
  handleRenameWorkspaceById: (workspaceId: string) => any,
  handleDeleteWorkspaceById: (workspaceId: string) => any,
  className?: string,
};

type State = {
  actionPlugins: Array<DocumentAction>,
  loadingActions: {[string]: boolean},
}

@autobind
class DocumentCardDropdown extends React.PureComponent<Props, State> {
  state = {
    actionPlugins: [],
    loadingActions: {},
  };

  _handleDuplicateWorkspace() {
    const { workspaceId, handleDuplicateWorkspaceById } = this.props;
    handleDuplicateWorkspaceById(() => null, workspaceId);
  }

  _handleRenameWorkspace() {
    const { workspaceId, handleRenameWorkspaceById } = this.props;
    handleRenameWorkspaceById(() => null, workspaceId);
  }

  _handleDeleteWorkspaceBy() {
    const { workspaceId, handleDeleteWorkspaceById } = this.props;
    handleDeleteWorkspaceById(() => null, workspaceId);
  }

  async _onOpen() {
    const plugins = await getDocumentActions();
    this.setState({ actionPlugins: plugins });
  }

  async _handlePluginClick(p: DocumentAction) {
    this.setState(state => ({
      loadingActions: {
        ...state.loadingActions, [p.label]: true,
      },
    }));

    try {
      const { apiSpec } = this.props;

      const context = {
        ...pluginContexts.app.init(RENDER_PURPOSE_NO_RENDER),
        ...pluginContexts.data.init(),
        ...pluginContexts.store.init(p.plugin),
      };

      await p.action(context, parseApiSpec(apiSpec.contents));
    } catch (err) {
      showError({
        title: 'Document Action Failed',
        error: err,
      });
    }

    this.setState(state => ({ loadingActions: { ...state.loadingActions, [p.label]: false } }));
    this._dropdown && this._dropdown.hide();
  }

  render() {
    const {
      children,
      workspaceId,
      className,
      handleDuplicateWorkspaceById,
      handleRenameWorkspaceById,
      handleDeleteWorkspaceById,
      ...extraProps
    } = this.props;

    const {
      actionPlugins,
      loadingActions,
    } = this.state;

    return (
      <Dropdown beside onOpen={this._onOpen} {...extraProps}>
        <DropdownButton className={className}>
          {children}
        </DropdownButton>

        <DropdownItem onClick={this._handleDuplicateWorkspace}>
          Duplicate
        </DropdownItem>
        <DropdownItem onClick={this._handleRenameWorkspace}>
          Rename
        </DropdownItem>

        {/* Render actions from plugins */}
        {actionPlugins.map((p: DocumentAction) => (
          <DropdownItem
            key={p.label}
            onClick={() => this._handlePluginClick(p)}
            stayOpenAfterClick={!p.hideAfterClick}>
            {loadingActions[p.label] && <i className="fa fa-refresh fa-spin" />}
            {p.label}
          </DropdownItem>
        ))}

        <DropdownDivider />
        <DropdownItem className="danger" onClick={this._handleDeleteWorkspaceBy}>
          Delete
        </DropdownItem>
      </Dropdown>
    );
  }
}

export default DocumentCardDropdown;


Base environment

{{ scheme }}://{{ host }}{{ base_path }}


keep keep keep keep keep replace keep keep keep

"name": "cookieJar",
"core": true,
"unlisted": true

insomnia-plugin-jsonpath

Template tag to pull data from JSON strings

json-path

Template tag to pull data out of JSON strings


// @flow
import { checkIfRestartNeeded } from './main/squirrel-startup';
import { appConfig } from '../config';
import * as electron from 'electron';
import * as errorHandling from './main/error-handling';
import * as updates from './main/updates';
import * as windowUtils from './main/window-utils';
import * as models from './models/index';
import * as database from './common/database';
import { changelogUrl, getAppVersion, isDevelopment, isMac } from './common/constants';
import type { ToastNotification } from './ui/components/toast';
import type { Stats } from './models/stats';
import { trackNonInteractiveEventQueueable } from './common/analytics';

// Handle potential auto-update
if (checkIfRestartNeeded()) {
  process.exit(0);
}

const { app, ipcMain, session } = electron;
const commandLineArgs = process.argv.slice(1);

// So if (window) checks don't throw
global.window = global.window || undefined;

// When the app is first launched
app.on('ready', async () => {
  // Init some important things first
  await database.init(models.types());
  await errorHandling.init();
  await windowUtils.init();

  // Init the app
  await _trackStats();
  await _launchApp();

  // Init the rest
  await updates.init();
});

// Set as default protocol
app.setAsDefaultProtocolClient(`insomnia${isDevelopment() ? 'dev' : ''}`);

function _addUrlToOpen(e, url) {
  e.preventDefault();
  commandLineArgs.push(url);
}

app.on('open-url', _addUrlToOpen);

// Enable this for CSS grid layout :)
app.commandLine.appendSwitch('enable-experimental-web-platform-features');

// Quit when all windows are closed (except on Mac).
app.on('window-all-closed', () => {
  if (!isMac()) {
    app.quit();
  }
});

// Mac-only, when the user clicks the doc icon
app.on('activate', (e, hasVisibleWindows) => {
  // Create a new window when clicking the doc icon if there isn't one open
  if (!hasVisibleWindows) {
    try {
      windowUtils.createWindow();
    } catch (e) {
      // This might happen if 'ready' hasn't fired yet. So we're just going
      // to silence these errors.
      console.log('[main] App not ready to "activate" yet');
    }
  }
});

function _launchApp() {
  app.removeListener('open-url', _addUrlToOpen);
  const window = windowUtils.createWindow();

  // Handle URLs sent via command line args
  ipcMain.once('window-ready', () => {
    commandLineArgs.length && window.send('run-command', commandLineArgs[0]);
  });

  // Called when second instance launched with args (Windows)
  const gotTheLock = app.requestSingleInstanceLock();

  if (!gotTheLock) {
    console.error('[app] Failed to get instance lock');
    return;
  }

  app.on('second-instance', (event, commandLine, workingDirectory) => {
    // Someone tried to run a second instance, we should focus our window.
    if (window) {
      if (window.isMinimized()) window.restore();
      window.focus();
    }
  });

  // Handle URLs when app already open
  app.addListener('open-url', (e, url) => {
    window.send('run-command', url);
    // Apparently a timeout is needed because Chrome steals back focus immediately
    // after opening the URL.
    setTimeout(() => {
      window.focus();
    }, 100);
  });

  // Don't send origin header from Insomnia app because we're not technically using CORS
  session.defaultSession.webRequest.onBeforeSendHeaders((details, fn) => {
    delete details.requestHeaders.Origin;
    fn({ cancel: false, requestHeaders: details.requestHeaders });
  });
}

async function _trackStats() {
  // Handle the stats
  const oldStats = await models.stats.get();
  const stats: Stats = await models.stats.update({
    currentLaunch: Date.now(),
    lastLaunch: oldStats.currentLaunch,
    currentVersion: getAppVersion(),
    lastVersion: oldStats.currentVersion,
    launches: oldStats.launches + 1,
  });

  // Update Stats Object
  const firstLaunch = stats.launches === 1;
  const justUpdated = !firstLaunch && stats.currentVersion !== stats.lastVersion;

  if (firstLaunch) {
    trackNonInteractiveEventQueueable('General', 'First Launch', stats.currentVersion);
  } else if (justUpdated) {
    trackNonInteractiveEventQueueable('General', 'Updated', stats.currentVersion);
  } else {
    trackNonInteractiveEventQueueable('General', 'Launched', stats.currentVersion);
  }

  ipcMain.once('window-ready', () => {
    const { currentVersion } = stats;
    if (!justUpdated || !currentVersion) {
      return;
    }

    const { BrowserWindow } = electron;
    const notification: ToastNotification = {
      key: `updated-${currentVersion}`,
      url: changelogUrl(),
      cta: 'See What\'s New',
      email: appConfig().gravatarEmail,
      message: `Updated to ${currentVersion}`,
    };

    // Wait a bit before showing the user because the app just launched.
    setTimeout(() => {
      for (const window of BrowserWindow.getAllWindows()) {
        window.send('show-notification', notification);
      }
    }, 5000);
  });
}


// @flow
import type { Operation } from './diff';

export function patch(a: string, operations: Array<Operation>): string {
  let result = '';

  for (const op of operations) {
    if (op.type === 'COPY') {
      result += a.slice(op.start, op.start + op.len);
    } else if (op.type === 'INSERT') {
      result += op.content;
    }
  }

  return result;
}


const webpack = require('webpack');
const path = require('path');
const pkg = require('../package.json');

if (!process.env.APP_ID) {
  console.log('APP_ID environment variable must be set for webpack build!\n');
  process.exit(1);
}

module.exports = {
  devtool: 'source-map',
  context: path.join(__dirname, '../app'),
  entry: ['./renderer.js', './renderer.html'],
  output: {
    path: path.join(__dirname, '../build'),
    filename: 'bundle.js',
    libraryTarget: 'commonjs2',
  },
  module: {
    rules: [
      {
        test: /\.(js)$/,
        use: ['babel-loader'],
        exclude: [/node_modules/, /__fixtures__/, /__tests__/],
      },
      {
        test: /\.(less|css)$/,
        use: [
          'style-loader',
          { loader: 'css-loader', options: { importLoaders: 1 } },
          { loader: 'less-loader', options: { noIeCompat: true } },
        ],
      },
      {
        test: /\.(html|woff2)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]',
        },
      },
      {
        test: /\.(png|svg)$/,
        loader: 'url-loader',
      },
    ],
  },
  resolve: {
    alias: {
      'react-dom': '@hot-loader/react-dom',
    },
    extensions: ['.js', '.json'],
    mainFields: ['webpack', 'browser', 'web', 'browserify', ['jam', 'main'], 'main'],
  },
  node: {
    __dirname: false, // Use Node __dirname
  },
  externals: [
    // Omit all dependencies in app/package.json (we want them loaded at runtime via NodeJS)
    ...Object.keys(pkg.dependencies).filter(name => !pkg.packedDependencies.includes(name)),

    // To get jsonlint working...
    'file',
    'system',
  ],
  plugins: [
    new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }),
    new webpack.DefinePlugin({
      'process.env.APP_ID': JSON.stringify(process.env.APP_ID),
    }),
  ],
  target: 'electron-renderer',
};


},
"main": "index.js",
"insomnia": {
"name": "core-themes"
},
"scripts": {
"test": "node --version"

"name": "core-themes",
"core": true,
"unlisted": true

insomnia-plugin-core-themes

Insomnia core themes


# Insomnia Request Template Tag

[![Npm Version](https://img.shields.io/npm/v/insomnia-plugin-request.svg)](https://www.npmjs.com/package/insomnia-plugin-request)

This is a core Insomnia plugin.