• Non ci sono risultati.

Le stringhe con identificatore “privacy:metadata”

3. Le stringhe dell’interfaccia

3.3. Le stringhe con identificatore “privacy:metadata”

Durante la traduzione, il controllo costante delle stringhe dall’interfaccia utente ha messo in evidenza, oltre ai semplici refusi, una mancanza di uniformità che si è cercato di colmare anche a fronte della continua uscita di nuove release che aggiungono nuovi termini da tradurre. Ne è seguito un lavoro certosino di uniformazione delle voci, correzione dei refusi, proposta di migliorie e suggerimenti. Accanto a questo, un grande contributo che qui si vuole documentare, è stato svolto su richiesta del maintainer17 sulle stringhe dei metadata della privacy. Introdotte con la versione 3.6 di Moodle, sono utilizzate per annunciare alle API di privacy cosa fare con i dati, anche nel caso in cui i dati non vengano utilizzati. La quasi totalità delle stringhe da tradurre si riferiva al “Registro privacy dei plugin” dove sono elencati tutti i campi con le relative descrizioni di tutti i componenti di Moodle.

Per la traduzione è stata individuata una studentessa che aveva dedicato molto tempo a lavorare sulle pagine di documentazione relative alla privacy [37] e si era distinta per l’impegno e la precisione.

La ricerca di tutte le stringhe dei metadata della privacy è stata effettuata su AMOS: dopo aver impostato la lingua italiana nel riquadro “Lingue”, la versione 3.6 tramite l’apposita casella di spunta, selezionato “Standard” nel riquadro “Componenti” per eseguire la ricerca esclusivamente sui componenti standard, nel campo “Identificatore stringa” è stata inserita come parola chiave dell’array delle stringhe la voce ‘privacy:metadata’. Una volta salvate le impostazioni del filtro, sono comparse le 1666 stringhe con identificatore “privacy:metadata”.

Preso atto della cospicuità delle stringhe da tradurre, si è subito palesata l’impossibilità di gestire un così ampio numero di input, ottenendo al contempo una traduzione precisa e uniforme. Fortunatamente, alcune di queste stringhe erano già state tradotte, quindi potevano essere utilizzate come modello per quelle mancanti. Tuttavia, risultava impossibile richiamarle nel Tool per la traduzione e contemporaneamente lavorare su quelle nuove, perché in una schermata di AMOS 17La versione di Moodle Cloud, Moodle Sandbox e Mount Orange School (v.) è sempre la più recente

e le stringhe dell’interfaccia devono essere sempre aggiornate alle modifiche tra le versioni. Consci dell’importanza di colmare i buchi di traduzione all’interno della piattaforma, si è deciso di accogliere positivamente la richiesta del maintainer e dedicare una risorsa alla traduzione delle stringhe.

sono visualizzate solo 100 stringhe, mostrate in ordine alfabetico per componente, quindi identificatore.

Da qui l’idea di estrarre le stringhe e copiarle in un foglio di calcolo affinché fossero tutte disponibili in un unico file. Questo non solo avrebbe permesso di evitare errori, bensì anche di facilitare, velocizzare e uniformare la traduzione.

Dopo un primo tentativo infruttuoso di filtrare le stringhe dal Tool per la traduzione e di copiarle direttamente sul foglio di calcolo , la consultazione della 18 documentazione su come contribuire alla traduzione delle stringhe [38] ha permesso di intraprendere una strada differente.

In Moodle le stringhe sono suddivise in tanti pacchetti a seconda degli argomenti, ognuno dei quali contiene vari file PHP all’interno dei quali le stringhe sono definite in un array associativo globale, chiamato $string, nel modo seguente:

<?php

$string['access'] = 'Accessibility';

$string['accesskey'] = 'Access key, {$a}'; $string['breadcrumb'] = 'Navigation bar'; $string['hideblocka'] = 'Hide {$a} block'; $string['showblocka'] = 'Show {$a} block'; $string['sitemap'] = 'Site map';

$string['skipto'] = 'Skip to {$a}';

$string['tonavigation'] = 'Go to navigation'; ?>

Ciascun componente (ad esempio modulo, report, condizioni di accesso, ecc.) ha il relativo file PHP che contiene le proprie stringhe di lingua; tra queste solo in alcune l’identificatore include “privacy:metadata”.

18 ​Per riprodurre la tabella a due colonne con i testi in inglese a sinistra e quelli italiani (già presenti o

spazio vuoto se da inserire) a destra, sarebbe stato necessario copiare le voci riga per riga tralasciando le informazioni relative alla release e ai componenti. Le stringhe selezionate venivano infatti incollate in sequenza sul foglio di calcolo, rendendo necessaria una scrematura manuale successiva. Questo perché i dati inseriti nella tabella visualizzata su AMOS sono creati dinamicamente in JavaScript e il

Purtroppo AMOS non consente di generare un unico file PHP contenente tutte le stringhe con identificatore “privacy:metadata”. Si è quindi pensato di farlo da riga di comando attraversando l’intero albero del codice di Moodle ed estraendo le stringhe da tradurre dai singoli file PHP con comando:

find . -type f -name "*.php"| xargs grep -l "privacy:metadata"

Questo, a partire dalla directory corrente (' . '), cerca in modo ricorsivo, tutti i file con estensione .php, filtrando quelli che contengono la stringa "privacy:metadata".

Dopo l’estrazione, le stringhe sono state riportate in una scheda del Traduttòmetro (v. fig. 16) le cui colonne contenevano il nome del file PHP da cui erano state estratte, il nome dell’identificatore della stringa, l’indicazione della presenza, o meno, della traduzione su AMOS , il testo in inglese e gli spazi per la 19 traduzione in italiano. A queste è stata successivamente aggiunta la colonna che racchiudeva il numero di caratteri per la contabilizzazione.

Figura 16. Raccolta delle stringhe “privacy:metadata” mancanti

Prima di cominciare la traduzione, si è tuttavia posto il problema inverso. Una volta estratte, raccolte e tradotte, le stringhe dovevano essere ricaricate su AMOS. Per farlo, occorreva utilizzare lo Stage, cliccare sul collegamento “Importa

19 Il file avrebbe a ragion veduta dovuto contenere solo le stringhe da tradurre. Tuttavia le stringhe già

stringhe tradotte da un file”, compilare i campi del form quindi importare il file. L'unico formato supportato è il formato delle stringhe di Moodle, ovvero PHP.

Per ovvi motivi di sicurezza, AMOS non può eseguire file PHP caricati dagli utenti, ma, tramite un parser PHP, può analizzare il file caricato e verificare che le stringhe corrispondano ai modelli predefiniti di stringhe valide e che le seguenti condizioni siano rispettate:

● il nome del file è un nome componente valido utilizzato da Moodle (ad esempio moodle.php, enrol_manual.php o workshop.php), ovvero deve corrispondere al nome del file contenente le stringhe in lingua inglese; ● il file contiene codice PHP valido senza errori di sintassi;

● le stringhe sono definite come elementi dell'array globale $string; ● le stringhe sono singole costanti tra virgolette.

Se il controllo viene superato, le stringhe presenti nel file sono inserite nello ​Stage relativo alla versione e alla lingua indicate come se fossero state tradotte direttamente via web nel Tool per la traduzione.

È risultato pertanto evidente che le stringhe prima di essere importate avrebbero dovuto essere suddivise tra i vari file dei componenti corrispondenti. L’idea di caricare un unico file PHP che contenesse tutte le stringhe con identificatore “privacy:metadata”, poi suddiviso in automatico da AMOS tra tutti i file PHP, è stata pertanto scartata.

Si è perciò tornati all’ipotesi di partenza: lavorare direttamente su web, ma questa volta supportati dallo Stash. L’uso dello Stash, che consente di salvare come ‘work in progress’ le stringhe presenti nello Stage, senza doverle inviare subito al maintainer, ha potuto supportare il flusso di lavoro . 20

Richiamando una sessione salvata nello Stash, in cui i lavori sono salvati in uno stesso file suddivisi per giorno (secondo il fuso australiano che non si può modificare), le stringhe sono copiate nello Stage per poter inviare il proprio contributo.

20 ​Ogni utente dispone inoltre di un salvataggio automatico, identificato come ‘Stash backup’ in caso

di blocco del browser, connettività internet assente o rimozione accidentale delle stringhe dallo ​Stage attraverso l’opzione ‘unstage’. Il salvataggio automatico è effettuato per ogni giorno in cui si creano

Inoltre, poiché AMOS consente di assegnare vari ruoli ai collaboratori affinché la traduzione possa passare per varie fasi di revisione , si è deciso di 21 procedere nel modo seguente: dopo aver tradotto un gruppo di stringhe, utilizzando anche lo Stash per quelle lasciate in sospeso in caso di dubbio, le stringhe venivano inviate dalla tirocinante al maintainer, il quale le inoltrava alla scrivente, a cui aveva assegnato i corretti privilegi, per la revisione. Passato il secondo vaglio, le stringhe venivano inviate nuovamente al maintainer per l’approvazione.

La tirocinante è riuscita a portare quasi completamente a termine il lavoro. Le stringhe non tradotte, che richiedevano maggiori conoscenze informatiche, hanno inizialmente lasciato dei buchi di traduzione successivamente colmati dall’intervento della scrivente.

21 Il maintainer può assegnare ad altri varie mansioni nel processo di traduzione delle stringhe. In

funzione dei privilegi è possibile contribuire alla traduzione diventando il responsabile della revisione e dell’integrazione del contributo alla traduzione, rinunciando a rivedere e integrare il contributo, copiando una traduzione già iniziata nel proprio Stage per diventarne il responsabile oppure accettando o rifiutando una traduzione.

Documenti correlati