Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Linguist"
Differenze tra le versioni 51 e 52
Versione 51 del 15/11/2018 14.30.24
Dimensione: 14243
Autore: wilecoyote
Commento:
Versione 52 del 16/11/2018 09.38.30
Dimensione: 14247
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 12: Linea 12:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Non sempre il nome del pacchetto da tradurre segue la sintassi `nomepacchetto_sp.qm`, per evitare errori e dissipare ogni dubbio, leggere come sono nominati i pacchetti traduzione dell'applicazione nelle altre lingue e copiare la sintassi.|| ||<tablestyle="text-align: justify; width:60%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Non sempre il nome del pacchetto da tradurre segue la sintassi `nomepacchetto_sp.qm`. Per evitare errori, leggere prendere nota di come sono nominati i pacchetti traduzione del programma nelle altre lingue, adoperando qundi la stessa sintassi.||

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Il programma Linguist è un editor specializzato per tradurre i file con estensione .ts. Questi file vengono usati per tradurre applicazioni in cui è 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 «sp» la sigla della lingua.

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

Installazione

Installare a seconda delle proprie esigenze i pacchetti:

Trovare i file .ts e azzerare le traduzioni

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 trovare i file con estensione .ts e .qm si può far ricorso a Synaptic.

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 altre lingue e convertirli in .ts, seguire questi passaggi:

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

  2. Fare clic con il tasto destro del mouse sul nome del pacchetto per aprire il menu contestuale e cliccare su Proprietà, poi cliccare sulla scheda File installati.

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

  4. Avviare il file manager al percorso individuato nel punto precedente, poi copiare il file nomepacchetto_sp.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 ed azzerare le traduzioni digitando nel terminale i seguenti comandi:

     lconvert --drop-translations nomepacchetto_sp.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 con il tasto destro del mouse sul nome del pacchetto per aprire il menu contestuale e cliccare su Proprietà, poi cliccare sulla 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, individuando il file nomepacchetto_untranslated.ts. Se non è presente alcun file con questo nome, seguire i seguenti passaggi:

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

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

    2. Per azzerare le traduzioni digitare nel terminale il seguente comando:

         lconvert --drop-translations nomepacchetto_sp.ts -o nomepacchetto_untranslated.ts

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

Mancanza di stringhe da tradurre

Nel caso in cui dopo aver installato il file tradotto nomepacchetto_sp.ts nel sistema, avviando il programma vengano a mancare delle traduzioni, può essere utile provare a creare un file nomepacchetto_untranslated.ts direttamente dal sorgente, poiché talora 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 un terminale e digitare il seguente comando:

     linguist
  2. Cliccare 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 riusare le proprie traduzioni copiando il file dizionario nomelingua.qph nella propria Home e selezionarli 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, poi cliccare su Run e chiudere la finestra cliccando 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 di 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 riusarle 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 con il tasto destro del mouse sul nome del pacchetto per aprire il menu contestuale e cliccare su Proprietà, poi spostarsi nella 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 /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_sp.qm /usr/share/nomeprogramma/translations/nomeprogramma_sp.qm
  2. Creare la directory dove allocare:

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

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

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

Ulteriori risorse


CategoryProgrammazione