Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Immutable Page
  • Info
  • Attachments


Guida verificata con Ubuntu: 16.04 18.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Linguist è un editor specializzato per elaborare i file con estensione .ts. Questi file vengono usati per la traduzione di applicazioni e programmi per i quali sia disponibile il supporto Qt.

In questa guida, sostituire sempre a «nomepacchetto» il nome del pacchetto da tradurre, a «nomelingua» il nome inglese della lingua e a «sigla» la sigla della lingua.

Non sempre il nome del pacchetto da tradurre segue la sintassi nomepacchetto_sigla.qm. Per evitare errori, leggere e prendere nota di come sono nominati i pacchetti traduzione del programma nelle altre lingue, adoperando quindi la stessa sintassi.

Installazione

Installare a seconda delle proprie esigenze i pacchetti:

Al termine dell'installazione sarà possibile avviare il programma.

Se assente, abilitare il Gestore Pacchetti Synaptic, che verrà utilizzato per reperire i file .ts e .qm relativi alle traduzioni nei successivi passaggi.

Per aiutarsi nelle traduzioni, può venire utile usare dei dizionari di traduzione installati sul computer, consultabili tramite il programma Stardict.

Trovare i file .ts e azzerare la traduzione

I file con estensione .ts possono essere trovati:

  • se installati, nelle cartelle dei singoli programmi come file .qm da convertire in .ts.

  • nei file distribuiti con il codice sorgente.

Per agevolare il lavoro si consiglia di mantenere ordinata la propria Home creando un'apposita cartella dedicata alle traduzioni.

Programmi installati

I file delle traduzioni dei pacchetti installati nel sistema sono in formato .qm e devono pertanto essere convertiti in .ts. Per cercarli nel file system nella propria o altra lingua e convertirli in .ts, seguire questi passaggi:

  1. Avviare il programma Synaptic e cercare il pacchetto desiderato.

  2. Fare clic destro sul nome del pacchetto per aprire il menu contestuale. Selezionare la voce Proprietà e quindi la scheda File installati.

  3. Leggere e appuntarsi il percorso ai file con estensione .qm. Se non sono presenti file con questa estensione, saltare al seguente paragrafo.

  4. Avviare il file manager al percorso individuato nel punto precedente, poi copiare il file nomepacchetto_sigla.qm nella propria Home.

  5. Spostarsi tramite riga di comando nella cartella dove è stato copiato il file.

  6. Convertire il file .qm in file .ts e azzerare la traduzione digitando nel terminale il seguente comando:

     lconvert --drop-translations nomepacchetto_sigla.qm -o nomepacchetto_untranslated.ts

Da sorgente

Per trovare il file nomepacchetto_untranslated.ts nei sorgenti nei repository, seguire i seguenti passaggi:

  1. Avviare il programma Synaptic e cercare il pacchetto desiderato.

  2. Fare clic destro sul nome del pacchetto per aprire il menu contestuale. Selezionare la voce Proprietà e quindi la scheda Comune.

  3. Individuare e appuntare il nome del componente dei repository (Sezione) e la versione del pacchetto (Ultima versione disponibile). Ignorare eventualmente i numeri presenti prima del carattere «:».

    Ad esempio, il pacchetto qpdfview si trova nella cartella qpdfview del repository Universe e l'ultima versione disponibile è la 0.4.14-1build1. Appuntarsi pertanto Universe come repository, qpdfview come componente e 0.4.14-1build1 come versione.

  4. Cercare e scaricare i sorgenti da questa pagina, avendo cura di:

    • selezionare il componente corretto (all'interno i file sono divisi in directory in ordine alfabetico);

    • selezionare la versione corretta;
    • scaricare il file compresso:

      • nomepacchetto_versione.orig.<estensione>, se disponibile. Ignorare eventuali caratteri a destra del segno «-» in versione.

      • nomepacchetto_versione.<estensione>, altrimenti.

      dove al posto di versione va considerata la versione individuata nei punti precedenti.

    Ad esempio, per il pacchetto qpdfview di cui al suggerimento precedente scaricare il file qpdfview_0.4.14.orig.tar.gz.

  5. Estrarre il contenuto dei file scaricati nella propria Home e individuare la cartella, solitamente di nome lang o translations, spesso allocate all'interno della cartella genitore src, contenente il file nomepacchetto_untranslated.ts. Se non è presente alcun file con questo nome, seguire i seguenti passaggi:

    • Copiare nella propria Home il file di traduzione nomepacchetto_sigla.ts in una lingua diversa da quella in cui si intende tradurre, scegliendo quella con più stringhe da tradurre.

    • Spostarsi tramite riga di comando nella cartella dove è stato copiato il file.

    • Per azzerare la traduzione digitare nel terminale il seguente comando:

      lconvert --drop-translations nomepacchetto_sigla.ts -o nomepacchetto_untranslated.ts
  6. Nei sorgenti molto grandi, o con più file .ts da tradurre, può risultare difficile individuare la cartella, o le cartelle, in cui sono allocati i file da tradurre .ts. In questo caso spostarsi tramite riga di comando nella cartella ove estratto il sorgente e digitare il seguente comando:

    find . -type f -name '*.ts'
  7. Seguire ciascun percorso ed estrarre da ciascuno il rispettivo file nomepacchetto_untranslated.ts. Se non è presente alcun file con questo nome, seguire le istruzioni dei seguenti passaggi.

I nomi dei sorgenti delle librerie che iniziano con «lib» vanno cercati nelle corrispondenti voci «lib» del repository.

Mancanza di stringhe da tradurre

Se dopo aver installato il file tradotto nomepacchetto_sigla.ts nel sistema, avviando il programma venissero a mancare delle traduzioni, può essere utile provare a creare un file nomepacchetto_untranslated.ts direttamente dal sorgente, poiché in tal caso i file traduzione non sono al passo con lo sviluppo del programma.

Per creare il file nomepacchetto_untranslated.ts, dopo aver decompresso il sorgente come spiegato al paragrafo precedente, occorre spostarsi nella cartella genitore e dare il seguente comando:

   lupdate nomesorgente-versione -ts nomepacchetto_untranslated.ts
  • Ad esempio, per il pacchetto qpdfview di cui al suggerimento precedente il comando diventa: lupdate qpdfview_0.4.14 -ts qpdfview_untranslated.ts

Primo avvio

  1. Aprire il terminale e digitare il seguente comando:

     linguist
  2. Fare clic su Phrases → Open Phrase Book... e selezionare il file .qph del dizionario della lingua verso cui si intende tradurre, allocato in:

    • /usr/share/qt4/phrasebooks per applicazioni in Qt4.

    • /usr/share/qt5/phrasebooks per applicazioni in Qt5.

Se si vuole tradurre più applicazioni usando Qt Linguist, è possibile riutilizzare le proprie traduzioni copiando il file dizionario nomelingua.qph nella propria Home e selezionarlo durante questo passaggio.

Tradurre con Linguist

  1. Avviare il file manager e spostarsi nella cartella contenente il file nomeprogramma_untranslated.ts precedentemente trovato o creato.

  2. Fare clic su nomeprogramma_untranslated.ts per avviare Linguist.

  3. Nella finestra apertasi in automatico selezionare nella sezione Target language le opzioni:

    • Language → nomelingua, sostituendo a nomelingua la lingua verso cui si vuole tradurre;

    • Country/Region → nomeregione, sostituendo a nomeregione la regione desiderata.

    Nel caso in cui non venga mostrata la finestra per le impostazioni della lingua, fare clic su Edit → Translations File Settings... per visualizzarla.

  4. Selezionare View → Views e mettere la spunta su Context, Strings e Phrases and guesses.

  5. Selezionare Validation e mettere la spunta su Accelerations, Ending Punctuation e Place Marker Match.

  6. Selezionare Edit → Batch Translations... e mettere la spunta sulle tre opzioni in alto, raggruppate in Options. Fare clic su Run e chiudere la finestra facendo clic su Cancel.

  7. Selezionare il gruppo di stringhe che si vuole tradurre in Context e selezionare la riga da tradurre in Strings.

  8. Digitare la traduzione in nomelingua translation, poi fare clic su Ctrl + Enter, dove al posto di nomelingua sarà visualizzato il nome della lingua verso cui si sta traducendo.

  9. Se si è allocato il file dizionario nomelingua.qph nella propria Home, dopo ogni traduzione fare clic su Ctrl + T in modo da aggiungere la traduzione al dizionario.

  10. Finita la traduzione, per salvare il file in formato .ts fare clic su File → Save As....

  11. Nella finestra apertasi selezionare:
    • in Filter il Qt translation sources;

    • in Name sostituire il 'untranslated' con la sigla della lingua;

    infine premere Save.

  12. Per creare il file .qm selezionare File → Release As....

  13. Nella finestra apertasi selezionare:
    • in Filter il Qt message file for released applications

    infine premere Save.

Aggiungere le proprie traduzioni al dizionario permette di riutilizzarle per tradurre altre stringhe, semplicemente ripetere ogni 3 o 4 gruppi di stringhe tradotte il punto 3.

Allocazione delle traduzioni

Per controllare il percorso di allocazione delle traduzioni in formato .qm del software che si sta traducendo, seguire i seguenti passaggi:

  1. Avviare il programma Synaptic e cercare il pacchetto desiderato.

  2. Fare clic destro sul nome del pacchetto per aprire il menu contestuale. Selezionare la voce Proprietà e quindi la scheda File installati.

  3. Leggere e appuntarsi il percorso ai file .qm. Se non sono presenti file con tale estensione:

    • se la cartella /usr/share/nomeprogramma/translations esiste, procedere con i passi successivi della guida;

    • se la cartella /usr/share/nomeprogramma/translations non esiste, crearla digitando nel terminale i seguenti comandi:

        sudo mkdir -p /usr/share/nomeprogramma/translations

Per evitare che un aggiornamento cancelli le traduzioni è consigliabile allocare i file tradotti in /usr/local e creare un collegamento simbolico alla directory richiesta, spostando l'eventuale file .qm preesistente come backup. Per farlo, digitare nel terminale i seguenti comandi:

I comandi seguenti sono riferiti all'allocazione più comune, ovvero /usr/share/nomeprogramma/translations. Se l'allocazione delle traduzioni individuata nei punti precedenti fosse diversa modificare di conseguenza i passi successivi.

  1. Se presente, spostare il file .qm preesistente:

     sudo mv /usr/share/nomeprogramma/translations/nomeprogramma_sigla.qm /usr/share/nomeprogramma/translations/nomeprogramma_sigla.qm~
  2. Creare la directory dove allocare:

     sudo mkdir -p /usr/local/share/nomeprogramma/translations
  3. Allocare il file .qm:

     sudo cp nomeprogramma_sigla.qm /usr/local/share/nomeprogramma/translations
  4. Creare il collegamento simbolico:

     sudo ln -s /usr/local/share/nomeprogramma/translations/nomeprogramma_sigla.qm /usr/share/nomeprogramma/translations

Ulteriori risorse


CategoryProgrammazione