Comezo,

Non, leandro non se garda nada do contexto, o único que podes ter é o 
número de liña e aquivo onde se topa dita cadea.

Por outra banda co sistema que proño eu e realmente é o que se está a 
empregar en calqueira linguaxe con bindings con gettext é que podes ter 
múltiples linguaxes con marcar unha vez só o código.
Ó xerar os .mo polos en RUTA_APP/locale/LC_MESSAGES/nome_idioma.mo e a 
aplicación se encarga automaticamente de ler desa "base de datos de 
traducción" e sustituír segun conveña.

A única forma que tes de controlar a linguaxe que vai mostrar a 
aplicación é poñer a linguaxe na que queres mediante esta función 
setlocale(LC_MESSAGES,"gl_ES"); para o caso do galego e en PHP, o bo que 
ten todo isto e que mediante lóxica de aplicación LC_MESSAGES pode ser 
configurado como queiras e polo tanto segundo o que configures vaiche 
coller o arquivo de idioma que corresponda.

En canto á forma de decía Xavier coido que é simplemente moi arriscada 
porque o número de posibilidades de traducción que podes ter é moi 
grande e polo tanto o "parser" non vai ser nin escalable nin lóxico, 
sobre todo tendo esta libraría xa testeada e empregada en producción.
No caso de Xavier se quere voltar a traducir a mesma aplicación a varios 
idiomas tería que "rebuscar" no código de novo para cada idioma cousa 
que con gettext xa o fai automáticamente a libraría (xgettext).
E unha última cousa, gettext non só podes "traducir" as cadeas de texto 
dunha app, senón que tamén configurache o modo en que se mostran as 
datas, moedas e demáis.
Polo tanto para localizar unha app o custo que supón marcar o código con 
un simple _( ) non é nada comparado con expresións regulares.



Leandro Regueiro escribiu:
>> Primeiro extraes, pero despois, como volves a meter o código???
>>     
>
> Unha pregunta que pode ser estúpida, cando se extraen as cadeas,
> gárdase algo de información de contexto, coma a liña na que estaba a
> cadea? Porque senón cun script que fora a esa liña, buscara nela a
> cadea orixinal, e a cambiara pola cadea traducida xa teriamos o choio
> solucionado!
>
> Ata logo,
>                    Leandro Regueiro
> _______________________________________________
> G11n mailing list
> G11n en mancomun.org
> http://listas.mancomun.org/mailman/listinfo/g11n
>   

-- 
Paco Dieguez
Linux User #409880
Chave GPG: A2A4F9B8 en keyserver.rediris.com
www.mabishu.com


Responderlle a