Drupal provides two methods for translating site content:
- Content translation and
- Entity translation
Any site can use both methods as long as the relevant modules are enabled: Content Translation (core) and Entity Translation (Drupal 7 contrib, Drupal 8 core). The method of multilingual support can then be configured for each content type. In other words, you can use Content Translation for some content types and Entity Translation for others.
The Content Translation module allows nodes to be translated by creating a set of nodes which are translations of each other (i.e., a node translation set). By contrast, the Entity Translation module allows particular fields to be translated, while only a single node or entity is created. With Entity Translation, the entity is language-independent. Only the associated fields are flagged with a language.
For information about translating HTML5 subtitles, see How to Build a Drupal 7 HTML5 Video Subtitling/Closed-captioning System.