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