Traduzione di gettext-tools (parte 2)

Danilo Piazzalunga danilopiazza@libero.it
Ven 25 Mar 2005 15:28:51 CET


On Friday 04 March 2005 16:09, Marco Colombo wrote:
> yo!!!
> visto il successo ottenuto dalla prima parte, come ogni buon produttore
> holliwoodiano vi rilascio anche la parte 2. spero che non sia un flop! :)

Ops... Non ho più trovato il tempo per andare a vederla ;-)

> per la questione della traduzione di fuzzy, la motivazione per lasciarlo
> invariato accennata da luca nell'altro thread è molto convincente. non
> l'ho ancora usata qui sotto, ma credo che finirò per usarla. gli unici
> motivi per cui ho proposto la doppia versione "approssimativo (fuzzy)"
> erano solo perché alcune stringhe ereditate da prima la usavano, e credo
> che possa dare un'aiutino a un utente provetto. come vedete, non mi
                  ^^^
:-(

> #: src/msgcat.c:336
> #, c-format, no-wrap, fuzzy
> msgid ""
> "Concatenates and merges the specified PO files.\n"
> "Find messages which are common to two or more of the specified PO
> files.\n" "By using the --more-than option, greater commonality may be
> requested\n" "before messages are printed.  Conversely, the --less-than
> option may be\n" "used to specify less commonality before messages are
> printed (i.e.\n" "--less-than=2 will only print the unique messages). 
> Translations,\n" "comments and extract comments will be cumulated, except
> that if --use-first\n" "is specified, they will be taken from the first PO
> file to define them.\n"
> "File positions from all PO files will be cumulated.\n" 
> msgstr ""
> "Concatena e unisce i file PO indicati.\n"
> "Trova i messaggi che sono comuni a due o più file PO indicati.\n"

"... due o più dei file PO indicati."?

> "Usando l'opzione --more-than, una maggiore somiglianza può essere
> richiesta\n" "prima che i messaggi vengano stampati. Altrimenti, l'opzione
> --less-than può\n" "essere usata per specificare una minore somiglianza
> prima di stampare i\n" "messaggi (es: --less-than=2 stampa solo i messaggi
> unici). Traduzioni, commenti\n" "e commenti di estrazione vengono

Cosa sono gli "extract comments"? I commenti presenti nel file sorgente 
(chiamati anche "dot comments"? Se così fosse, sembrerebbe più chiaro 
"commenti estratti".

> accumulati, a meno che l'opzione --use-first\n" "è usata, nel qual caso
                                                   ^^^^^^^
Metti "sia usata" o "venga usata"

> solo quelli nel primo file PO vengono usati.\n"

Troppe ripetizioni del verbo "usare"... Ricapitolando, ti propongo:

"Traduzioni, commenti e [commenti di estrazione? commenti estratti?] vengono 
accumulati, a meno che venga [usata? specificata?] l'opzione --use-first, nel 
qual caso vengono [considerati? mostrati? estratti?] solo quelli definiti nel 
primo file PO.

> "Le posizioni nei file da tutti i file PO vengono accumulate.\n" 

Mi sembra più chiaro "Le posizioni nei file vengono accumulate da tutti i file 
PO."


Non sono troppo sicuro di commonality -> somiglianza. Dal contesto, mi sembra 
di capire che il termine non sta a indicare la somiglianza tra i due file, ma 
il numero di presenze di un messaggio in più file.

> #: src/msgcat.c:372 src/msgcomm.c:377
> #, c-format
> msgid ""
> "  -<, --less-than=NUMBER      print messages with less than this many\n"
> "                              definitions, defaults to infinite if not
> set\n"
> msgstr ""
> "  -<, --less-than=NUMERO      stampa i messaggi with con meno di NUMERO\n"
> "                              definizioni, è predefinito a 1\n"
                                                            ^^^
"è predefinito a infinito" (o infinite?)

> #: src/msgcmp.c:156 src/msgmerge.c:313
> #, c-format
> msgid "no input files given"
> msgstr "non sono specificati file d'ingresso"
>
> #: src/msgcmp.c:161 src/msgmerge.c:318
> #, c-format
> msgid "exactly 2 input files required"
> msgstr "sono richiesti esattamente 2 file d'ingresso"

Di solito non usavi "file di input"?

A proposito, per la prima frase preferirei "nessun file di input specificato".

> #: src/msgcmp.c:185
> #, c-format, no-wrap
> msgid ""
> "Compare two Uniforum style .po files to check that both contain the
> same\n" "set of msgid strings.  The def.po file is an existing PO file with
> the\n" "translations.  The ref.pot file is the last created PO file, or a
> PO Template\n" "file (generally created by xgettext).  This is useful for
> checking that\n" "you have translated each and every message in your
> program.  Where an exact\n" "match cannot be found, fuzzy matching is used
> to produce better diagnostics.\n"
> msgstr ""
> "Confronta due file .po in stile Uniforum per verificare che entrambi\n"
> "contengano lo stesso insieme di stringhe msgid. Il file def.po è un
> file PO\n" "già esistente che contiene traduzioni.
> Il file ref.pot è un file\n" "PO più recente o un file PO di template

Altrove lasci sempre "PO Template" invariato.

> (creato generalmente con xgettext).\n"
> "È utile per verificare che sia stato tradotto ognuno dei messaggi del
> proprio\n" "programma.

"... che siano stati tradotti tutti i messaggi del proprio programma." è più 
leggera e ugualmente chiara.

> Quando non è possibile trovare una corrispondenza  esatta, sono usate\n" "le
> corrispondenze approssimative (fuzzy) per produrre diagnostiche migliori.\n" 

Qui mi piace il doppio termine, si adatta bene alle spiegazioni lunghe.

> #: src/msgcmp.c:201
> #, c-format
> msgid "  ref.pot                     references to the sources\n"
> msgstr "  ref.pot                     riferimenti alle fonti\n"

O forse qui parla proprio dei sorgenti?

> # FIXME
> #: src/msgcmp.c:206 src/msgmerge.c:491
> #, c-format
> msgid "Operation modifiers:\n"
> msgstr "Modificatori di operazione:\n"

Modalità di operazione? Impostazioni di operazione?

> #: src/msgcomm.c:294
> #, c-format
> msgid "at least two files must be specified"
> msgstr "devono essere specificati almeno due file"

Preferirei "si devono specificare almeno due file".

> #: src/msgcomm.c:342
> #, c-format, no-wrap
> msgid ""
> "Find messages which are common to two or more of the specified PO
> files.\n" "By using the --more-than option, greater commonality may be
> requested\n" "before messages are printed.  Conversely, the --less-than
> option may be\n" "used to specify less commonality before messages are
> printed (i.e.\n" "--less-than=2 will only print the unique messages). 
> Translations,\n" "comments and extract comments will be preserved, but only
> from the first\n" "PO file to define them.  File positions from all PO
> files will be\n" "cumulated.\n"
> msgstr ""
> "Trova i messaggi comuni a due o più dei file PO specificati. Usando
> l'opzione\n" "--more-than, una maggiore somiglianza può essere richiesta
> prima che qualche\n" "messaggio venga mostrato.  Viceversa, l'opzione

"... prima che i messaggi vengano stampati." (vs nell'aiuto di msgcat)

vs per "extract comments"

> --less-than può essere usata\n" "per specificare una minore somiglianza
> prima che venga stampato un messaggio\n" "(es. --less-than=2 mostrerà solo i
> messaggi unici). Traduzioni, commenti e\n" "commenti di estrazione saranno
> conservati, ma solo dal primo file PO che li\n" "definisce.

> Le posizioni nei file di tutti i file PO verranno accumulate.\n"

vs per questa frase.

> # FIXME
> #: src/msgconv.c:288
> #, c-format
> msgid "Converts a translation catalog to a different character encoding.\n"
> msgstr "Converte un catalogo di traduzioni in una diversa codifica.\n"

Converte la codifica di un catalogo di traduzioni?

> # FIXME
> #: src/msgconv.c:312
> #, c-format
> msgid "Conversion target:\n"
> msgstr "Obiettivo di conversione:\n"

Risultato della conversione?

> #: src/msgconv.c:316
> #, c-format
> msgid "The default encoding is the current locale's encoding.\n"
> msgstr "La codifica predefinita è la codifica della locale corrente.\n"

Meglio: "La codifica predefinita è quella della locale corrente." ?

> #: src/msgconv.c:336 src/msgen.c:311 src/msgfilter.c:433 src/msggrep.c:549
> #: src/msgmerge.c:516
> #, c-format
> msgid "      --no-location           suppress '#: filename:line' lines\n"
> msgstr "      --no-location           sopprime le righe '#:
> nomefile:riga'\n"

Prova a usare qualcos'altro invece di "sopprime", ad es. "non mostra".

> # FIXME
> #: src/msgconv.c:340 src/msgen.c:315 src/msgfilter.c:437 src/msggrep.c:553
> #: src/msgmerge.c:520
> #, c-format, fuzzy
> msgid "      --strict                strict Uniforum output style\n"
> msgstr "      --strict                stile di output Uniforum strict\n"

È lo stesso problema che c'era nella parte 1 ;-)

> #: src/msgen.c:219 src/msgfmt.c:377 src/xgettext.c:539
> #, c-format
> msgid "no input file given"
> msgstr "non è specificato nessun file d'ingresso"
>
> #: src/msgen.c:224
> #, c-format
> msgid "exactly one input file required"
> msgstr "è richiesto esattamente un file d'ingresso"

vs per input/ingresso

Ancora, nella prima frase metterei "nessun file di input specificato".

> #: src/msgexec.c:192
> #, c-format
> msgid "missing command name"
> msgstr "nome di comando mancante"

Mi sembra più chiaro: "manca il nome del comando", specialmente vedendo la 
sintassi di msgexec:

> #: src/msgexec.c:238
> #, c-format
> msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
> msgstr "Uso: %s [OPZIONE] COMANDO [OPZIONE-COMANDO]\n"

> #: src/msgexec.c:252
> #, c-format, no-wrap
> msgid ""
> "A special builtin command called '0' outputs the translation, followed
> by a\n"
> "null byte.  The output of \"msgexec 0\" is suitable as input for
> \"xargs -0\".\n"
> msgstr ""
> "Uno speciale comando interno chiamato '0' stampa la traduzione, seguita
> da\n" "un byte null. L'output di \"msgexec 0\" è valido come input per
> \"xargs -0\".\n"

byte null -> byte nullo (visto che vale zero)?

> #: src/msgexec.c:322
> #, c-format
> msgid "write to stdout failed"
> msgstr "scrittura su standard output non riuscita"
>
> #: src/msgexec.c:345 src/msgfilter.c:637
> #, c-format
> msgid "write to %s subprocess failed"
> msgstr "scrittura sul sottoprocesso %s non riuscita"

Cosa ne pensi di "impossibile scrivere ..."?

> #: src/msgfilter.c:285
> #, c-format
> msgid "missing filter name"
> msgstr "nome di filtro mancante"

Metterei "manca il nome del filtro", vs.

> #: src/msgfilter.c:309
> #, c-format
> msgid "at least one sed script must be specified"
> msgstr "deve essere specificato almeno ono script sed"
                                         ^^^
uno

E, IMHO, "si deve specificare ..."

> # FIXME
> #: src/msgfilter.c:411
> #, c-format, fuzzy
> msgid ""
> "  -n, --quiet, --silent       suppress automatic printing of pattern
> space\n"
> msgstr ""
> "  -n, --quiet, --silent       sopprime la stampa automatica dello
> spazio dei\n"
> "                              modelli\n"

Il "pattern space" è il buffer che contiene la riga su cui sed sta attualmente 
lavorando. Questa descrizione dell'opzione -n è identica alla descrizione 
data nella documentazione di sed.

Vedi anche: info '(sed)Execution Cycle'

Ah, vedi sopra per "sopprimere".

> # FIXME
> #: src/msgfilter.c:589
> #, c-format
> msgid "cannot set up nonblocking I/O to %s subprocess"
> msgstr "impossibile impostare un I/O non bloccante per il sottoprocesso %s"

Va bene.

> #: src/msgfilter.c:617
> #, c-format
> msgid "communication with %s subprocess failed"
> msgstr "comunicazione col sottoprocesso %s non riuscita"

Preferisco "impossibile comunicare ..."

> #: src/msgfilter.c:668
> #, c-format
> msgid "read from %s subprocess failed"
> msgstr "lettura dal sottoprocesso %s non riuscita"

Preferisco "impossibile leggere ..."

> #: src/msgfmt.c:586
> #, c-format
> msgid ", %d fuzzy translation"
> msgid_plural ", %d fuzzy translations"
> msgstr[0] ", %d traduzione approssimativa"
> msgstr[1] ", %d traduzioni approssimative"

Qui decisamente ci va solamente "fuzzy".

> # FIXME: description???
> #: src/msgfmt.c:615
> #, c-format
> msgid "Generate binary message catalog from textual translation
> description.\n"
> msgstr "Genera un catalogo binario di messaggi dalla descrizione di
> traduzioni testuali.\n"

"descrizione testuale delle traduzioni"?

Forse l'ha messo perché considera come traduzione vera e propria il file MO, 
mentre il PO viene considerato "solo" una descrizione in formato testuale.

> #: src/msgfmt.c:620 src/xgettext.c:730
> #, c-format, no-wrap
> msgid ""
> "Mandatory arguments to long options are mandatory for short options
> too.\n" "Similarly for optional arguments.\n"
> msgstr ""
> "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per
> quelle corte.\n"
> "Similmente per gli argomenti opzionali.\n"

Metterei: "Lo stesso vale per gli argomenti opzionali."
Correggetemi se sbaglio, ma "similmente" mi pare che sia in disuso.

> #: src/msgfmt.c:627
> #, c-format
> msgid "  filename.po ...             input files\n"
> msgstr "  filename.po ...             file di input\n"

nomefile.po (l'hai usato nella descrizione breve)

> #: src/msgfmt.c:638
> #, c-format
> msgid ""
> "      --java2                 like --java, and assume Java2 (JDK 1.2 or "
> "higher)\n"
> msgstr "      --java2                 come --java, e assume Java2 (JDK
> 1.2 o superiore)\n"

"... come --java, ma suppone/presume Java 2 ..."

> # FIXME
> #: src/msgfmt.c:662 src/msgfmt.c:676 src/msgfmt.c:686 src/msgunfmt.c:443
> #: src/msgunfmt.c:454 src/msgunfmt.c:464
> #, c-format
> msgid ""
> "  -l, --locale=LOCALE         locale name, either language or "
> "language_COUNTRY\n"
> msgstr "  -l, --locale=LOCALE         nome della locale, o lingua o
> lingua_PAESE\n"

Va bene. Se proprio non tu piace puoi mettere "nella forma/espressa 
come/indicata da lingua o lingua_PAESE".

Se invece hai dei dubbi su "locale"... beh, ce li ho anch'io :-)

> # FIXME
> #: src/msgfmt.c:664
> #, c-format
> msgid ""
> "  -d DIRECTORY                base directory of classes directory
> hierarchy\n"
> msgstr ""
> "  -d DIRECTORY                directory base della gerarchia di
> directory delle\n"
> "                              classi\n"

Va bene.

> # FIXME
> #: src/msgfmt.c:666
> #, c-format
> msgid ""
> "The class name is determined by appending the locale name to the resource
> " "name,\n" "separated with an underscore.  The -d option is mandatory.  The
> class is\n" "written under the specified directory.\n"
> msgstr ""
> "Il nome di classe è determinato aggiungendo il nome della locale al
          ^^^^
della classe

> nome della\n" "risorsa, separata da una sottolineatura. L'opzione -d è
                                ^^^
(il nome) separato da un underscore (mi sembra più chiaro invariato, in fondo 
tutti conoscono il suo nome in inglese)

> obbligatoria. La classe\n" "viene scritta nella directory specificata.\n"


> #: src/msgfmt.c:704
> #, c-format
> msgid ""
> "  -c, --check                 perform all the checks implied by\n"
> "                                --check-format, --check-header, --check-"
> "domain\n"
> msgstr ""
> "  -c, --check                 esegue tutti i controlli implicati da\n"
> "                                --check-format, --check-header,
> --check-domain\n"

implicati -> effettuati ?
Si riferisce ai controlli, non all'opzione (in frasi come "-c implica -b e 
-a").

> #: src/msgfmt.c:711
> #, c-format
> msgid ""
> "      --check-domain          check for conflicts between domain
> directives\n"
> "                                and the --output-file option\n"
> msgstr ""
> "      --check-domain          controlla i conflitti tra le direttive di
> dominio\n"
> "                              e l'opzione --output-file\n"

Preferirei "controlla che non ci siano conflitti" o "controlla l'assenza di 
conflitti".

> #: src/msgfmt.c:719
> #, c-format
> msgid "  -f, --use-fuzzy             use fuzzy entries in output\n"
> msgstr "  -f, --use-fuzzy             usa le voci approssimative (fuzzy) 
> nell'output\n" 

Qui andrebbe benissimo solo fuzzy.

> # FIXME
> #: src/msgfmt.c:921
> #, c-format
> msgid "plural expression can produce integer overflow"
> msgstr "l'espressione plurale può produrre un overflow dell'intero"

overflow degli interi? overflow dei numeri interi? Invariato?

> # FIXME
> #: src/msgfmt.c:1305
> #, c-format
> msgid "msgstr lacks the keyboard accelerator mark '%c'"
> msgstr "in msgstr manca il carattere '%c' per l'acceleratore da tastiera"

Va bene.

> #: src/msgfmt.c:1347
> #, c-format
> msgid "headerfield `%s' missing in header\n"
> msgstr "campo '%s' mancante nell'intestazione\n"

Oppure: "manca il campo '%s' nell'intestazione" ?

> #: src/msgfmt.c:1362
> msgid "some header fields still have the initial default value\n"
> msgstr ""
> "alcuni campi dell'intestazione sono ancora al valore iniziale
> predefinito\n"
>
> #: src/msgfmt.c:1374
> #, c-format
> msgid "field `%s' still has initial default value\n"
> msgstr "il campo '%s' ha ancora il valore iniziale predefinito\n"

Qui (riguarda l'originale) dovrebbe specificare che il valore iniziale non può 
andare bene ma è un valore "dummy".

> # FIXME
> #: src/msgfmt.c:1447
> #, c-format
> msgid "warning: older versions of msgfmt will give an error on this\n"
> msgstr "attenzione: versioni più vecchie di msgfmt daranno un errore in
> questo caso\n"

"... segnalano un errore in questo caso"

> #: src/msgfmt.c:1545
> #, c-format
> msgid "fuzzy `msgstr' entry ignored"
> msgstr "ignorata la voce 'msgstr' approssimativa"
>
> #: src/msgfmt.c:1603
> #, c-format
> msgid "%s: warning: source file contains fuzzy translation"
> msgstr "%s: attenzione: il file sorgente contiene traduzioni
> approssimative"

Decisamente, s/approssimativ[ae]/fuzzy/

> #: src/msggrep.c:456
> #, c-format
> msgid "option '%c' cannot be used before 'K' or 'T' or 'C' has been
> specified"
> msgstr "l'opzione '%c' non può essere usata prima che 'K', 'T' o 'C' sia
> specificata"

Non dovrebbe essere "prima che [...] siano specificate" ?

> #: src/msggrep.c:502
> #, c-format, no-wrap
> msgid ""
> "Message selection:\n"
> "  [-N SOURCEFILE]... [-M DOMAINNAME]...\n"
> "  [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C COMMENT-PATTERN]\n"
[...]
> "  -i, --ignore-case           ignore case distinctions\n"
> msgstr ""
[...]
> "  -i, --ignore-case           ignora differenze tra maiuscole e
> minuscolo\n"
         ^^^
maiuscole e minuscole

> #: src/msginit.c:370
> #, c-format, no-wrap, fuzzy
> msgid ""
> "Creates a new PO file, initializing the meta information with values
> from the\n"
> "user's environment.\n"
> msgstr ""
> "Crea un nuovo file PO, inizializzando le meta informazioni con valori\n"
> "dall'ambiente dell'utente.\n"

Quasi quasi scriverei "metainformazioni" tutto attaccato: mi sembra più 
coerente con l'uso dei prefissi in italiano.

> #: src/msginit.c:403
> #, c-format
> msgid "  -l, --locale=LL_CC          set target locale\n"
> msgstr "  -l, --locale=LL_CC          imposta la locale obiettivo\n"

imposta la locale del risultato? imposta la locale per cui tradurre?

> #: src/msginit.c:405
> #, c-format
> msgid ""
> "      --no-translator         assume the PO file is automatically
> generated\n"
> msgstr "      --no-translator         assume che il file PO sia generato
> automaticamente\n"

s/assume/suppone/

> # FIXME
> #: src/msginit.c:1181
> msgid ""
> "The new message catalog should contain your email address, so that users "
> "can\n"
> "give you feedback about the translations, and so that maintainers can "
> "contact\n"
> "you in case of unexpected technical problems.\n"
> msgstr ""
> "Il nuovo catalogo di messaggi dovrebbe contenere il vostro indirizzo
> email,\n"
> "così che gli utenti possono dare feedback sulle traduzioni, e i
                                                            ^^^
via la virgola
(tu usi "dare feedback", io uso "dare un feedback"... sono entrambe corrette?)

> curatori\n" "possono contattarvi in caso di problemi tecnici imprevisti.\n"

Beh, forse in questo caso ci si deve per forza rivolgere all'utente. Vediamo 
se riesco a inventare un'alternativa decente...

"Il nuovo catalogo di messaggi dovrebbe contenere il proprio indirizzo email, 
in modo che si possa essere contattati dai curatori in caso di problemi 
tecnici imprevisti e dagli utenti che vogliano dare un feedback sulle 
traduzioni."

> #. TRANSLATORS: "English" needs to be replaced by your language.
> #. For example in it.po write "Traduzioni italiani ...",
                                                  ^^^
Che dici, glielo segnaliamo? ;-)

> #. *not* "Traduzioni inglesi ...".
> #: src/msginit.c:1567
> #, c-format
> msgid "English translations for %s package"
> msgstr "Traduzioni italiane per il pacchetto %s."

(lo preferirei al singolare)

> #: src/msgl-cat.c:202
> #, c-format
> msgid ""
> "input file `%s' doesn't contain a header entry with a charset
> specification"
> msgstr "l'intestazione del file di input '%s' non contiene una
> specificazione del set di caratteri"

Che ne dici di "... non specifica un set di caratteri"?

> #: src/msgl-cat.c:206
> #, c-format
> msgid ""
> "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
> "charset specification"
> msgstr "il dominio \"%s\" nel file di input \"%s\" non contiene
> un'intestazione con una specificazione del set di caratteri"

"l'intestazione del il dominio \"%s\" nel file di input \"%s\" non specifica 
un set di caratteri" (vs)

> #: src/msgl-cat.c:383 src/msgl-iconv.c:405
> #, c-format
> msgid "target charset \"%s\" is not a portable encoding name."
> msgstr "il set di caratteri obiettivo \"%s\" non è un nome di codifica
> portabile"

"il set di caratteri del risultato ..." ?

> #: src/msgl-charset.c:93
> #, c-format
> msgid ""
> "Locale charset \"%s\" is different from\n"
> "input file charset \"%s\".\n"
> "Output of '%s' might be incorrect.\n"
> "Possible workarounds are:\n"
> msgstr ""
> "Il set di caratteri \"%s\" della locale è diverso\n"
> "dal set di caratteri \"%s\" del file di input.\n"
> "L'output di '%s' potrebbe essere incorretto.\n"

Meglio: "potrebbe non essere corretto"

> #: src/msgl-iconv.c:339
> #, c-format
> msgid "input file doesn't contain a header entry with a charset
> specification"
> msgstr "il file di input non contiene un'intestazione con una
> specificazione del set di caratteri"

"l'intestazione del file di input non specifica un set di caratteri" (vs)

> #: src/msgl-iconv.c:358 src/xgettext.c:597
> #, c-format
> msgid ""
> "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv()
> does "
> "not support this conversion."
> msgstr "Impossibile convertire da \"%s\" a \"%s\". %s si basa su
> iconv(), e iconv() non gestisce questa conversione."
>
> #: src/msgl-iconv.c:380
> #, c-format
> msgid ""
> "Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
> "msgids become equal."
> msgstr ""
> "La conversione da \"%s\" a \"%s\" introduce duplicati: alcuni msgid
> diventano\n"
> "uguali."

Perchè il "\n"? Nell'originale non c'è.

> #: src/msgmerge.c:430
> #, fuzzy, c-format, no-wrap
> msgid ""
> "Merges two Uniforum style .po files together.  The def.po file is an\n"
> "existing PO file with translations which will be taken over to the
> newly\n" "created file as long as they still match; comments will be
> preserved,\n" "but extracted comments and file positions will be discarded.
>  The ref.pot\n"
> "file is the last created PO file with up-to-date source references but\n"
> "old translations, or a PO Template file (generally created by
> xgettext);\n" "any translations or comments in the file will be discarded,
> however dot\n" "comments and file positions will be preserved.  Where an
> exact match\n" "cannot be found, fuzzy matching is used to produce better
> results.\n" msgstr ""
> "Fonde due file .po in stile Uniforum. Il file def.po è un file PO
> esistente\n" "che contiene le traduzioni che verranno usate, se ancora
> corrispondono, nel\n" "nuovo file creato; i commenti saranno conservati, ma
> i commenti di estrazione\n" "e le posizioni nei file saranno scartati. Il

vs per "extract comments"

> file ref.pot è il file PO più\n" "recente con i riferimenti ai sorgenti
> aggiornati ma con le vecchie traduzioni,\n" "oppure un PO Template
> (solitamente creato con xgettext); qualsiasi traduzione\n" "o commento nel
> file sarà scartata, mentre saranno conservati i commenti con il\n"
> "punto e le posizioni nei file. Quando è impossibile trovare una
> corrispondenza\n" "esatta, una corrispondenza approssimativa (fuzzy) è usata
> per ottenere i\n" "migliori risultati.\n"

Metterei: "... per ottenere risultati migliori" (in effetti l'originale dice 
"better results", non "the best results". Lo so, è proprio il classico pelo 
nell'uovo :-)


Non c'entra molto con la traduzione, ma credo che la frase sarebbe più 
leggibile se suddivisa in paragrafi, ossia:

"Fonde due file .po in stile Uniforum.\n"
"Il file def.po [...] e le posizioni nei file saranno scartati.\n"
"Il file ref.pot [...] con il punto e le posizioni nei file.\n"
"Quando è impossibile trovare [...].\n"

> #: src/msgmerge.c:447
> #, c-format
> msgid "  def.po                      translations referring to old
> sources\n"
> msgstr "  def.po                      traduzioni che si riferiscono alle
> vecchie fonti\n"
>
> #: src/msgmerge.c:449
> #, c-format
> msgid "  ref.pot                     references to new sources\n"
> msgstr "  ref.pot                     riferimenti alle nuove fonti\n"

Attenzione, qui credo che si riferisca proprio ai sorgenti.

> # FIXME
> #: src/msgmerge.c:473
> #, c-format
> msgid "The result is written back to def.po.\n"
> msgstr "Il risultato è riscritto in def.po.\n"

Butto lì: "def.po viene sovrascritto con il risultato."

> #: src/msgmerge.c:486
> #, c-format
> msgid ""
> "The backup suffix is `~', unless set with --suffix or the "
> "SIMPLE_BACKUP_SUFFIX\n"
> "environment variable.\n"
> msgstr ""
> "Il suffisso dei backup è '~', a meno che sia impostato con --suffix o
> la\n" "variabile d'ambiente SIMPLE_BACKUP_SUFFIX.\n"

Aggiungerei un "con": "... o con la variabile d'ambiente ..."

> #: src/msgmerge.c:495
> #, c-format
> msgid "  -N, --no-fuzzy-matching     do not use fuzzy matching\n"
> msgstr "  -N, --no-fuzzy-matching     non usa le corrispondenze
> approssimative (fuzzy)\n"

Lascia pure il fuzzy da solo.

> #: src/msgmerge.c:544
> #, c-format
> msgid "  -q, --quiet, --silent       suppress progress indicators\n"
> msgstr "  -q, --quiet, --silent       sopprime gli indicatori di
> avanzamento\n"

vs per "sopprime".

> # FIXME
> #: src/msgunfmt.c:445
> #, c-format
> msgid ""
> "The class name is determined by appending the locale name to the resource
> " "name,\n"
> "separated with an underscore.  The class is located using the
> CLASSPATH.\n" msgstr ""
> "Il nome di classe è determinato aggiungendo il nome della locale al

Il nome della classe

> nome della\n"
> "risorsa, separata da una sottolineatura. La classe viene localizzata

separato (vs)
E ancora vs per "sottolineatura/underscore".

> #: src/msguniq.c:309
> #, c-format, no-wrap, fuzzy
> msgid ""
> "Unifies duplicate translations in a translation catalog.\n"
> "Finds duplicate translations of the same message ID.  Such duplicates
> are\n"
> "invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
> "default, duplicates are merged together.  When using the --repeated
> option,\n"
> "only duplicates are output, and all other messages are discarded.
> Comments\n"
> "and extracted comments will be cumulated, except that if --use-first is\n"
> "specified, they will be taken from the first translation.  File
> positions\n"
> "will be cumulated.  When using the --unique option, duplicates are
> discarded.\n"
> msgstr ""
> "Unifica le traduzioni duplicate in un catalogo di traduzioni.\n"
> "Trova le traduzioni duplicate dello stesso msgid. Tali duplicati sono
> un\n" "input non valido per altri programmi come msgfmt, msgmerge o msgcat.
> Come\n" "impostazione predefinita, i duplicati sono fusi assieme. Quando
> viene usata\n" "l'opzione --repeated, solo i duplicati vengono stampati,
> mentre gli altri\n" "vengono scartati. I commenti e i commenti di estrazione

vs per "extract comments"

> vengono accumulati,\n" "tranne quando viene specificata l'opzione
> --use-first, nel qual caso viene\n" "usata solo la prima traduzione. Le
> posizioni dei file vengono accumulate.\n"
> "Quando si usa l'opzione --unique, i duplicati vengono scartati.\n"

"Traduzioni, commenti e [commenti estratti?] vengono accumulati, a meno che 
venga [usata? specificata?] l'opzione --use-first, nel qual caso vengono 
[considerati? mostrati? estratti?] solo quelli definiti nella prima 
traduzione." (vs nel commento all'aiuto di msgcat)


Finito. Scusa ancora per il ritardo!

Danilo


Maggiori informazioni sulla lista tp