[Tradutores-Ubuntu] tradución de grep

Román roman.pena.perez at gmail.com
Mon Oct 26 18:26:49 GMT 2009


2009/10/26 José Manuel Castroagudín Silva <chavescesures at gmail.com>:
> jchaves at amilo:~$ LANG=C
> jchaves at amilo:~$ grep '[asdf' *
> grep: Unmatched [ or [^
> jchaves at amilo:~$ grep 'asdf]' *
> ^C
> jchaves at amilo:~$ grep 'asdf\]' *
> ^C
> jchaves at amilo:~$ grep '(asdf' *
> ^C
> jchaves at amilo:~$ grep '[(asdf' *
> grep: Unmatched [ or [^
> jchaves at amilo:~$ grep '\(asdf' *
> grep: Unmatched ( or \(
> jchaves at amilo:~$ grep '\)asdf' *
> grep: Unmatched ) or \)
> jchaves at amilo:~$
>
> Non fun quen de que me mostrara ningún "unbalanced", así que non teño
> claro a que se refiren, pero paréceme bastante claro que os
> "unmatched" significan "sen parella". Nestes casos, refírome.
>
> Hoxe teño a "capacidade dialéctica" baixo mínimos, pero vaia, que
> facer estas probas que fixen é bastante sinxelo. Só unha nota, cando
> hai un ^C, é porque se poñía a buscar, e eu buscaba que dese un erro,
> e por iso matei o proceso.
>

 Boas,

<modo resume>
 Como nesta mensaxe me paso de explicacións, vou comezar coa
conclusión: "unbalanced" e "unmatched", neste contexto, son sinónimos;
hai esta discordancia de termos porque as cadeas proveñen de duas
bibliotecas distintas. É máis: as cadeas que comezan con "Unbalanced",
se entendín ben como funciona grep, non deberían amosarse nunca. Iso
sí, quero remarcar que habería que preguntarlle ós programadores para
estarmos seguros.
</modo resume>

 Estiven investigando un pouco. Non botei unha ollada a ningún .po,
pero saquei as cadeas en cuestión do executable (deberían concordar
coas que hai dispoñibles para traducir):

$ strings /usr/bin/grep | egrep -i 'unbalanced|unmatched'
Unbalanced [
Unbalanced (
Unbalanced )
Unmatched [ or [^
Unmatched ( or \(
Unmatched \{
Unmatched ) or \)
unmatched parentheses


 Despois de furgar minimamente no código fonte do gnu grep, achei que
as tres primeiras, as que comezan por "Unbalanced", pertencen á
biblioteca "dfa", localizada en "src/dfa.{c,h}". O resto pertencen á
biblioteca "regex", en "lib/regex.{c,h}" (en realidade non son
bibliotecas propiamente ditas, pero non ten maior importancia). Se a
miña investigación -por chamarlle algo- non é incorrecta, "regex" é un
código que extraen directamente de glibc e que incrustan acó,
namentres "dfa" é desenvolvido dentro do propio grep, e foi copiado (e
bifurcado) noutros proxectos distintos, coma gawk, por exemplo.
 Logo se o entendín ben, no pouco tempo que lle adiquei -habería que
falar directamente cos programadores-, o aplicativo analiza a
expresión regular mediante "regex", logo as probas a maiores que se
fan en "dga" nunca provocarán un erro, xa que cando se invoca ás
funcións de "dga", a expresión regular xa foi analizada previamente.

 Conviría tamén consultar traducións doutras linguas para vermos se
realmente significa "desemparellado" en ambos casos, pero eu apostaría
a que é así.


 Por certo, quero aproveitar para insistir no que dicía Jose Manuel
Castroagudín Silva orixinalmente neste fío:

> só era para comentar unha cousa: hai que ir con moito coidado á hora
> de traducir certas cousas. Sobre todo, programiñas en consola clásicos
> (neste caso o grep, pero isto aplica para moitos outros).

 Neste contexto, quero resaltar que "apt", probablemente a ferramenta
máis útil da distribución (gracias a Debian, claro ;-), dende hai ben
tempo, ten un fallo de tradución (se ben a última vez que o vin por
launchpad estaba corrixido, pero non así na miña Ubuntu, que dende hai
catro versións, é dicir, máis de 2 anos, o contén): Onde debería dicir
"non instalado" ou "desinstalado", di "instalado", polo que ó facer un
"aptitude show <paquete>", a liña de "estado" ("status") sempre indica
"instalado"

 Román



More information about the Ubuntu-l10n-gl mailing list