I.T.T. “G. MARCONI”
Subtitle World
Esame di Stato 2014/2015
Candidata: Valentina Odorizzi
Indice
INTRODUZIONE ...........................................................................................................................................................3
TECNOLOGIE UTILIZZATE .............................................................................................................................................4
STRUTTURA .................................................................................................................................................................4
DISCIPLINE COINVOLTE ................................................................................................................................................7
PROBLEMATICHE E RISOLUZIONI .................................................................................................................................9
CONCLUSIONI ............................................................................................................................................................ 10
Pagina 2
Introduzione
L’idea del mio progetto scaturisce da un’esperienza personale, ovvero da una difficoltà tutta mia relativa
alla memorizzazione di vocaboli in lingua straniera. Alludo al senso di fastidio, di frustrazione o di disagio
sperimentato nel guardare un film in lingua inglese, seppur sottotitolato, di fronte alla mancata conoscenza
del significato di alcune parole, che mi costringeva a consultare un dizionario cartaceo o digitale.
Pertanto, partendo dal presupposto che la mia difficoltà possa essere condivisa, il mio progetto consiste
nell’elaborazione di un programma che permetta la visione di film e di documentari in inglese sottotitolati.
La novità creativa del software consiste nella particolare interazione tra programma e utente: quando si
presenta la necessità di cercare una parola sconosciuta presente nel sottotitolo è possibile cliccare su di
essa e ritrovarsi immediatamente la traduzione. Inoltre, un’altra potenzialità del sistema riguarda la
possibilità di salvare su un file i vocaboli cercati durante la visione del film o del documentario. In tal modo
è garantita l’opportunità di visualizzare più volte le parole ignorate dall’utente anche successivamente alla
visione del film.
Le discipline coinvolte nel progetto sono Informatica e Inglese. Dal punto di vista informatico ho
implementato un database che ha la funzione di dizionario, poiché, come accennato precedentemente, ad
ogni parola in inglese è associata una parola in italiano. Il software è stato creato utilizzando C# in Visual
Studio.
Per quanto riguarda, invece, la lingua inglese, essa rappresenta la lingua veicolare del film proposto. Nello
specifico, il video proposto è Salvate il soldato Ryan in inglese.
Pagina 3
Tecnologie utilizzate
Le tecnologie utilizzate per sviluppare il mio progetto sono le seguenti:
 Visual Studio 2013, linguaggio C#;
 MySql, DBMS utilizzato per la creazione del database;
 API di google translate;
 DirectShow, libreria di C# utilizzata per la visualizzazione dei video.
MySql
MySql è un DBMS che permette di gestire database utilizzando il
linguaggio SQL
API
Un’API(Application Programming Interface) è una libreria disponibile per un certo linguaggio di
programmazione. Sono utilizzate per incrementare le funzionalità di un programma.
Struttura
La mia tesina sé incentrata sullo sviluppo dei sottotitoli. Il file .srt dei sottotitoli è suddiviso in blocchi, i quali
sono composti da:
 Un numero progressivo che gli identifica;
 Un tempo di inizio e di fine;
 Testo del sottotitolo;
Un blocco del
file dei sottotitoli
In base a tali caratteristiche ho dovuto creare, nel programma, delle classi in grado di leggere e ricavare le
informazioni da me ritenute importanti, ovvero il testo e il tempo di visualizzazione.
Ho creato quattro classi:
 Sottotitolo;
 Sottotitoli;
Pagina 4


UCSottotitolo;
UCSottotitoli;
La classe sottotitolo contiene le informazioni di un solo blocco di sottotitoli.
Mentre sottotitoli contiene le informazioni di tutti i blocchi di sottotitoli, che sono raggruppate in una lista
sottotitolo, da me creata, che le potesse memorizzare. Inoltre, vi sono dei metodi in grado di restituire le
informazioni del sottotitolo corrente e del successivo.
Invece, in UCSottotitolo vi è la gestione dell’evento click della parola, ovvero quando una parola viene
cliccata si accede al database e si verifica se essa sia presente; se questa non è presente si ottiene una
traduzione tramite un’ API e viene inserita nel database.
Pagina 5
I risultati ottenuti sono visibili tramite una DataGriedView e possono essere salvati sul proprio computer
tramite un menù a tendina. Inoltre, nella DataGriedView vi è anche la possibilità di visualizzare le traduzioni
precedenti.
L’ultima classe creata è UCSottotitoli che ha il compito di calcolare e gestire i tempi di visualizzazione dei
sottotitoli.
Pagina 6
Discipline coinvolte
Come ribadito precedentemente le discipline coinvolte in questo progetto sono: informatica e inglese
Informatica

Diagramma E-R
Italiano
VocItaliano
Inglese
corrisponde
corrisponde
VocInglese
Inglese
Italiano
Il mio progetto utilizza un database composto da tre tabelle (due entità e un’associazione); le due relazioni
contengono l’una le parole in italiano e l’altra i vocaboli in inglese. La realtà del database che ho voluto
rappresentare corrisponde a quella concreta, ovvero ad una parola in inglese corrispondono tanti termini in
italiano e viceversa. Dunque la cardinalità fra queste due entità è N:M.
L’associazione fra le due entità è obbligatoria poiché tutte le parole sia inglesi che italiane hanno una
corrispondenza fra di loro.

Schema relazionale
NB:
Italiano(VocItaliano)
Chiave primaria
Dizionario(VocItaliano, VocInglese)
Chiave esterna
Inglese(VocInglese)

Script di creazione
CREATE TABLE Inglese
(
VocInglese varchar(100),
COSTRAINT Inglese_PK PRIMARY KEY(VocInglese)
)
CREATE TABLE Italiano
(
VocItaliano varchar(100),
COSTRAINT Italiano_PK PRIMARY KEY(VocItaliano)
)
Pagina 7
CREATE TABLE Dizionario
(
inglese varchar(100),
italiano varchar(100),
COSTRAINT FK_Italiano FOREIGN KEY (italiano)
REFERENCES tblItaliano(vocabolo)
ON DELETE CASCADE
ON UPDATE CASCADE,
COSTRAINT FK_Inglese FOREIGN KEY(inglese)
REFERENCES tblInglese(vocabolo)
ON DELETE CASCADE
ON UPDATE CASCADE,
COSTRAINT PK_dizionario PRIMARY KEY (inglese,
italiano));
Pagina 8
Problematiche e risoluzioni
Le problematiche riscontrate in questo progetto si sono verificate durante la fase di ideazione dei
sottotitoli, parte principale del mio progetto.
I problemi riscontrati riguardano:
 L’API: che dovrebbe trovare più traduzioni di una parola inglese e tuttavia ottiene un solo
significato.
Tale complicazione non è stata risolta, poiché non ne ho individuate altre funzionanti.
 L’impossibilità di creare dei sottotitoli dinamici: a causa di un errore di protezione degli accessi
rilevato durante la programmazione, non ho potuto creare dei sottotitoli in maniera dinamica. Di
conseguenza, ho realizzato una lista di UCSottotitolo, la cui lunghezza rimane fissa e cambia solo il
contenuto di ogni componente di essa.
 La ricerca di una libreria che potesse far visualizzare i video in maniera corretta: ho implementato
diverse librerie nel mio progetto per far visualizzare i filmati, che tuttavia non erano in grado di far
girare il video correttamente; di conseguenza ho utilizzato DirectShow, una libreria realizzata
diversi anni fa.
Pagina 9
Conclusione
Alla luce di quanto analizzato, ritengo che il mio progetto di ricerca possa considerarsi per alcuni aspetti
abbastanza innovativo, poiché l’utente è messo nelle condizioni di poter interagire in prima persona con il
programma grazie ai sottotitoli cliccabili. Si tratta di una forma di attivazione dinamica che rende l’utente
protagonista della decodifica del messaggio poiché lo sottrae a una dimensione di passività.
Inoltre, non va trascurata l’opportunità di apprendere vocaboli nuovi attraverso una modalità veloce e
insolita, capace di stimolare la curiosità dell’utente che si appassiona via via alla comprensione di parole
collocate in situazione, ossia in discorsi vivaci e concreti.
Tuttavia, vorrei avere l’opportunità di ampliare il mio progetto, in modo tale che sia disponibile non solo in
lingua inglese, ma anche in altre lingue, per amanti di film o documentari di altre nazionalità. A questo
scopo occorrerebbe implementare nel database altre relazioni, che permettano di memorizzare i vocaboli
stranieri.
Pagina
10