This reverts commit 5e0fd7eb0c92ce8a13c2649d3c94c1f728afeb73
[tails.git] / wiki / src / blueprint / l10n_Italian.mdwn
blobdb3055d901d1a537994518b465e90f3a3a684a4d
1 [[!toc levels=2]]
4 # Definizioni 
6 Warning page = pagina degli avvertimenti/avvisi
8 Persistence = persistente <https://it.wikipedia.org/wiki/Persistenza_%28informatica%29>
10 Sensitive = sensibile o riservato o confidenziale
12 [[Domande aperte sui termini]]
14 # Info
16 Qualche informazione sui file po:
18 <http://tp.linux.it/guida-po/index.html>
20 # Weblate
22 IL weblate è raggiungibile qui:
24 <https://translate.tails.boum.org/languages/it/tails/>
26 Puoi ordinare i componenti secondo:
28 * Translated Words Review    
29 * Checks     
30 * Suggestions
32 In questo modo puoi trovare i file da revisionare. Conviene cercare quelli che hanno la barra verde più "piena" ed il minor numero di Suggestions/suggerimenti.
33 Significa che la pagina arriverà più rapidamente ad essere pubblicata, perchè un requisito per la pubblicazione è che raggiunga la barra verde al 100%.
34 (attenzione non esiste più il meccanismo barra blu... sapevatelo!)
35 __________
37 ## Alcune cose a cui fare attenzione:
39 * non sostituire gli spazi con i tre puntini. Ovvero anche se il weblate ti fa vedere che mancano tre puntini rossi, significa che bisogna mettere uno "space".
41 __________
43 ## Revisioni e sito compilato:
46 Le versioni proposte di una frase tradotta sono in basso, quasi in fondo alla pagina e puoi vederne un link nella colonna di destra. Nella colonna di destra ci sono anche degli avvertimenti in caso di alcuni "test" non passati da quella frase, come.. manca il punto alla fine, o va a capo in modo strano,...
48 Per revisionare bisogna dare un voto ad un suggerimento di un altr* traduttor*.
49 Se abbiam dei dubbi scriviamo in mailinglist.
50 Quello che fa fede è sempre l'inglese, come testo di riferimento.
51 Il suggerimento deve ricevere due voti per essere approvato e quindi messo in "staging", ovvero la pagina con il sito compilato. E' possibile che il server voglia un po di tempo per farlo, quindi magari non si trova subito la frase modificata. 
53 Nelle revisioni è importante andare a vedere anche che la pagina funzioni prima di comunicare in lista che è pronta!
54 Infatti ci sono parti di html che NON vanno tradotte: come i link, le class="applications", alcune liste con le parentesi quadre, ...
56 Il wiki compilato per vedere se la pagina funziona si trova qui:
58 <https://translate.tails.boum.org/staging/>
60 a questo link ci aggiungi il nome della pagina che vuoi controllare (copiandola dall'URL del weblate), per esempio:
62 voglio controllare la pagina: 
63 <https://translate.tails.boum.org/translate/tails/acknowledgments_and_similar_projects/it/?type=suggestions#suggestions>
65 aggiungo al link /staging: "acknowledgments_and_similar_projects/it/"
67 cambio "/it/" in ".it.html" e avro':
69 <https://translate.tails.boum.org/staging/doc/about/acknowledgments_and_similar_projects.it.html>
72 # Aiuto con GIT
75 ##mini guida GIT
77 <https://rogerdudler.github.io/git-guide/index.it.html>
79 ## Repository GIT
81 E' qui: https://git.lattuga.net/transitails/italian
83         git clone http://git.lattuga.net/transitails/italian.git transitails
85         cd transitails
87         git remote -v
89 Verifichi di avere origin settato su http://git.lattuga.net/transitails/italian.git
90          
91 Per essere abilitati in scrittura, iscrivetevi a git.lattuga.net e chiedete in lista di accettarvi l'utente.
93 ## Git comandi quotidiani
95 Tutte le righe che iniziano con $ sono da digitare nel terminale, a volte sotto c'è la risposta del terminale, oppure niente. In generale nei sistemi unix-like se il terminale dopo aver dato un comando non vi risponde niente, vuol dire che tutto è andato bene.
96 Il pulsante TAB è vostro amico per completare tutti i percorsi dei file e soprattutto quando usate git add. Le frecce su e giù della tastiera vi danno gli ultimi comandi che avete lanciato, così andate velocissim*. Tutto quello che inizia con [hagfsa] va sostituito con il nome che fa al caso vostro. Se vi trovate ad un certo punto intrappolati nel terminale e c'è ESC in fondo, niente paura, è vim, quindi fate: ESC : q
97 E lui vi fa uscire.
99 Sincronizziamoci al repository remoto, prendendo i file che ci mancano:
101     $  git pull 
104 Ora controlliamo a che punto  siamo
106     $ git status
108 Ora controlliamo che branch ci sono
110     $  git branch -a
112 Se non siamo su quella giusta facciamo 
114     $git checkout -b [nome branch] 
116 Quindi iniziamo ad editare i file in locale usando POEDIT
117     
118 Per aggiungere allo stadio "stage" i file modificati.
120     $ git add [NAMEFILE]
122 Per sapere cosa sta per essere committato e cosa no:
123    
124     $ git status
126 Modifiche fatte localmente, già messe in "stage", che volete passare come "definitive" nel vostro repo locale:
129     $ git commit -m "DESCRIZIONE DELLE MODIFICHE FATTE"
131 Se siete sicuri che le modifiche che avete fatto vanno sul repository remoto, spingetele là:
133     $ git push origin [nome dalla branch o master]
135 Se non sapete l'identità con cui è configurato git, fate un controllo prima di mandare le cose in remoto:
138     $ git config -l
140 tIn caso di dubbi, vedete un po il vostro status:
142     $ git status
145 Verificate che il commit ci sia
147      $git log origin [nome dalla branch o master]
149 ## Alcuni utili alias
151     git config --global alias.graph 'log --graph --oneline --all --decorate=short'
152     git config --global alias.lg 'log --oneline --graph --decorate=short'
154 L'alias `graph` mostra un "grafo" della situazione corrente, in modo da riconoscere come sono disposte le varie branch e dove siete voi.
155 L'alias `lg` e' simile, ma non mostra TUTTE le branch possibili e immaginabili. Di default mostra solo lo stato corrente (tipo git log, ma piu' stringato). Se fatte tipo `git lg master mia-branch` potete vedere come sta messa la vostra branch rispetto al master. E' in avanti? indietro? ecc.
157 ## mergiare i file PO piu facilmente
159 Si può usare un *merge driver* specializzato per i `.po`:
161 * si prende questo file https://github.com/mezis/git-whistles/blob/master/libexec/git-merge-po.sh
162 * si verifica che il suo `sha1sum` è `1448725402f5828e8ad4216fc0fe593519066fcd`.
163 * lo si mette in /usr/bin/git-merge-po
164 * lo si configura come dice qui https://github.com/mezis/git-whistles#user-content-merge-po
166 A questo punto il merge dei file `.po` dovrebbe andare parecchio meglio.
168 # Lavoro da affrontare
170 Attingere nuove pagine da tradurre dando precedenza a queste:
172 <https://tails.boum.org/contribute/l10n_tricks/core_po_files.txt>
175 #Branch
177 Le branch sono utili ma devono esistere il più breve tempo possibile. Servono per avere i file non revisionati fuori dal master. Chi revisiona può direttamente pushare nel master.
180 Voglio creare la nuova branch locale italia_about
182     $ git branch italian_about
184 poi controllo che ci sia
186     $ git branch
188 mi risponde la lista delle branch esistenti.
190 Allora vado a lavorarci sopra.
192     $ git checkout italian_about
194     $ git branch
196 mi fa rivedere le branch
198 Se voglio anche le branch remote faccio 
200     $git branch -a
202 Ora modifico i vari file, faccio ADD, poi COMMIT e poi PUSH:
204     $ git push [remote-name] [branch-name]
206 Dove [remote-name] è comunemente "origin", dicono, ma potrebbe essere diverso, dipende come avete impostato i vostri remote. Controllate con 
208      $git remote -v
210 #Generare una copia del wiki in locale
212 Il sito web https://tails.boum.org/ è costruito usando Ikiwiki dal codice sorgente che è disponibile nel nostro repository Git, così come il resto del codice di Tails.
214 Tu puoi costruire la tua copia locale del sito sul tuo pc. La generazione del sito web consiste in una collezione di pagine HTML salvate sul tuo sistema operativo, che si possono aprire con un comunissimo browser anche se sei offline. Fare questo è molto utile per chi scrive la documentazione e i traduttori che così vedono applicate le loro modifiche prima di metterle sul sito web in produzione.
216 Genera il wiki in locale su TAILS
218 Crea e configura la partizione resistente attivando le seguenti funzionalità (Applicazioni>Tails>Configure persistent volume):
219         Dati personali
220         Pacchetti APT
221         Liste APT
223     Riavvia Tails, abilita la persistenza e le configurazioni avanzate, imposta una password di root.
225     Aggiorna la lista dei pacchetti disponibili, scrivendo in un terminale:
227     sudo apt update
229 Installa i seguenti pacchetti:
231     sudo apt install libyaml-perl libyaml-libyaml-perl po4a \
232      perlmagick libyaml-syck-perl ikiwiki ruby
234     Clona il nostro repository Git in una cartella della partizione persistente:
236     cd ~/Persistent/
237     git clone https://git-tails.immerda.ch/l10n-italian/tails/ mytails
239     Il codice sorgente del sito internet si trova nella cartella wiki/src/ .
241     Per accelerare la compilazione, puoi disabilitare alcune lingue nei parametri po_slave_languages delle configurazioni nei file ikiwiki.setup.
242 E poi lanciare ikiwiki --changesetup ikiwiki.setu
244     Ora puoi visitare questo indirizzo locale dal tuo browser per vedere il sito web generato:
246     file:///home/amnesia/Persistent/Tor Browser/tails/index.en.html
247     Genera il sito web:
249     cd mytails
250     ./build-website --set destdir="/home/amnesia/Persistent/outtails" "$@"
252 # Workflow
254 Come procediamo per fare varie cose?
256 ## Pacchi
258 In breve:
260 1. creazione pacchi
261 2. assegnazione: ogni pacco ha un traduttore
262 3. per ogni pacco:
263    * traduzione!
264    * revisione (non chiaro: quando si sceglie chi revisiona?)
265    * merge dentro master
268 Ogni tanto (quando?) si fanno dei pacchi di traduzioni. Un pacco e' un insieme di filename che vanno tradotti. Ogni pacco viene tradotto da una persona. Nell'estate 2017 abbiamo deciso di fare pacchi _piccoli_, in modo da rendere il lavoro più fluido.
270 ### Tradurre
272 Supponiamo di tradurre la divina commedia, e di fare 3 pacchi: Inferno, Purgatorio e Paradiso. Petrarca si accolla di tradurre l'Inferno, e lo fa in una branch che chiama, appunto "inferno". traduce tutti i file  `wiki/src/inferno/*.po`, (**TODO**: andrebbe anche fatti i check)  quindi fa `git commit -m "inferno translated"`.
274 Sì, i commit vanno fatti in inglese.
276 ### Revisionare
278 A questo punto qualcuno deve revisionare la branch. Si fa avanti Laura. Laura manda un'email alla lista dicendo che sta per tradurre la branch  `inferno`: la manda non quando decide che vorrebbe farlo, ma proprio un minuto prima di farlo davvero.
279 Laura fa `git fetch origin && git checkout origin/inferno`. Prima guarda le differenze introdotte da Petrarca, con `git log -p origin/inferno`.
280 Gli sembrano ok, ma per controllare che si vedano anche bene nel wiki va a vedere il sito [[https://tailsit.degenerazione.xyz/branch.html]] e clicca su `origin/inferno`. Così può vedere il risultato della build. Questo è equivalente a "buildare" il wiki localmente con `./build-website`, ma è più rapido e meno soggetto ad errori. Nota che Petrarca, sbadato, ha fatto alcuni piccoli errori nel markup del wiki che "rompono" delle immagini. Petrarca aveva tradotto la riga:
282     [[!immagine \"caronte.png`"]]
284 con:
286     [[immagine \"caronte.png\"`]]
288 Laura corregge e fa commit sulla stessa branch `git commit wiki/src/inferno/terzocanto.po -m "fix image for caronte" && git push origin inferno`.
289 Non trova altri errori, quindi fa
291     git checkout master
292     git merge --no-ff inferno
294 Potrebbe subito fare `git push origin master` ma, per non sbagliare, fa un diff:
296     git diff origin/master..master
298 E controlla se tutto torna. Ci sono conflitti? Quel cambiamento al `!img` c'e' ancora?
299 Aspetta qualche minuto e poi torna a guardare il solito [[https://tailsit.degenerazione.xyz/branch.html]] per vedere se si è "preso" il nuovo commit sulla branch inferno. Quando ha fatto (ci può mettere anche 15 minuti a volte) va a guardare se il risultato è anche graficamente corretto. Tutto ok?
300 bene, ora possiamo fare
302     git push origin master
304 ## Call for translations
306 Prima di una release, in lista tails-l10n arriva un'email "Call for translations". Come si procede a quel punto?