En mi trabajo hemos estado persiguiendo durante algún tiempo un problema en el que el thread T1 emitía la señal S1 y después la señal S2 que estaban conectadas a un objeto en el thread T2, eran recibidas en dicho objeto en el orden inverso, es decir, S2 primero y S1 después.
Primero pensamos que era nuestra culpa ya que el código en esas clases no es tan limpio como debería ser, pero después de unos días no encontramos nada especialmente incorrecto en nuestro código y comenzamos a mirar en dirección Qt.
Solo en un dia encontré un problema en QObject::moveToThread que no dejaba los items de QPostEventList correctamente ordenados y fui capaz de producir un parche rápido para solucionar nuestro problema. Por desgracia, ha tomado alrededor de un mes para que el parche llegue a Qt (ni idea si la lentitud es culpa de mi empresa, Digia o Nokia) y el error haya sido corregido por Olivier (con un parche mejor que el mío).
Conclusión: Si no encuentras un error en tu código, a veces es porque no está ahí :D
Un blog sobre cosas aleatorias y de vez en cuando sobre mi colaboración en KDE
domingo, 3 de julio de 2011
domingo, 26 de junio de 2011
Charla en las X JPL
Este jueves y viernes se celebran las X Jornades de Programari Lliure en la Escola Tècnica Superior d'Enginyeria Industrial de Barcelona de la Universitat Politècnica de Catalunya. Como podéis ver en el programa impartiré una charla sobre la dinámica de las comunidades de traducción (centrada en mi experiencia en KDE) el viernes de 16:30 a 17:00.
Otros miembros de la comunidad de KDE como Aaron Seigo, Aleix Pol y Pedro Lopez-Cabanillas también impartirán charlas.
Otros miembros de la comunidad de KDE como Aaron Seigo, Aleix Pol y Pedro Lopez-Cabanillas también impartirán charlas.
martes, 21 de junio de 2011
Decepcionado con el N9
Parece que las aplicaciones predeterminadas serán software cerrada, o sea que vale, tiene buena pinta, usa Qt y todo lo que queráis, pero no es el teléfono que usa Software Libre como nos lo vendieron.
Por supuesto estaría más que contento si me demuestran que no tengo razón.
Por supuesto estaría más que contento si me demuestran que no tengo razón.
viernes, 17 de junio de 2011
viernes, 20 de mayo de 2011
La akademy-es 2011 comienza hoy!
La Akademy-es 2011 comienza hoy :-)
Las charlas de hoy incluyen una charla sobre traducciones por parte del grupo de traduccion de KDE al catalan, una de Aleix sobre como colaborar, una de Alex sobre Telepathy y otra mia sobre patatas.
Gracias a nuestros patrocinadores Google y Qt/Nokia :-)
sábado, 14 de mayo de 2011
Textos en Qt Designer: disambiguation vs comment
Qt Designer tiene dos campos relacionados con las traducciones de las propiedades de texto (por ejemplo, el texto de una etiqueta, o el tooltip de un widget) disambiguation y comment (que, lamentablemente, aparacen como los atributos XML comment (para disambiguation) y extracomment (para comment) en el archivo. ui), dejad que explique un poco que significan esos campos ya que he encontrado algunos errores en su uso mientras arreglaba un error que teníamos en nuestros scripts traducción (aka scripty).
En primer lugar un poco de información sobre como funcionan las traducciones, cuando pides que se traduzca una cadena (por ejemplo, "Run"), puedes dar un contexto que actúa como una llave extra (por ejemplo, "Verb" o "Noun") para los traductores puedan hacer traducciones diferentes
(Run, Verb) -> Ejecutar
(Run, Noun -> Ejecución
Esta clave adicional es lo que usted escribe en el campo de disambiguation
Por otro lado cuando escribe algo en el campo comment, sólo aparece como un comentario al traductor, así que si tienes dos textos con el mismo texto (por ejemplo, "Run") y el comment diferentes (por ejemplo, "Verb" o "Noun") no va a funcionar. Por eso sólo se debe usar el campo comment para dar información adicional para los campos cuyo texto es único pero el significado puede no ser fácil de entender para el traductor.
Así que no hay razón alguna para hacer cosas como
<string extracomment="General information">General information of the identity.</string> ya que estamos dando menos información en el campo comment que en el propio texto
También tienes que recordar que no tiene sentido añadir disambiguation o comment a una propiedad de texto que está vacía, ya que de momento no se pueden traducir cadenas vacías, por lo que este tipo de cosas tampoco son útiles
<string extracomment="Open file dialog"/>
Por último, si se utiliza marcadores KUIT tiene que ponerlos en el campo disambiguation
En primer lugar un poco de información sobre como funcionan las traducciones, cuando pides que se traduzca una cadena (por ejemplo, "Run"), puedes dar un contexto que actúa como una llave extra (por ejemplo, "Verb" o "Noun") para los traductores puedan hacer traducciones diferentes
(Run, Verb) -> Ejecutar
(Run, Noun -> Ejecución
Esta clave adicional es lo que usted escribe en el campo de disambiguation
Por otro lado cuando escribe algo en el campo comment, sólo aparece como un comentario al traductor, así que si tienes dos textos con el mismo texto (por ejemplo, "Run") y el comment diferentes (por ejemplo, "Verb" o "Noun") no va a funcionar. Por eso sólo se debe usar el campo comment para dar información adicional para los campos cuyo texto es único pero el significado puede no ser fácil de entender para el traductor.
Así que no hay razón alguna para hacer cosas como
<string extracomment="General information">General information of the identity.</string> ya que estamos dando menos información en el campo comment que en el propio texto
También tienes que recordar que no tiene sentido añadir disambiguation o comment a una propiedad de texto que está vacía, ya que de momento no se pueden traducir cadenas vacías, por lo que este tipo de cosas tampoco son útiles
<string extracomment="Open file dialog"/>
Por último, si se utiliza marcadores KUIT tiene que ponerlos en el campo disambiguation
miércoles, 4 de mayo de 2011
Publicado el programa del Akademy-es 2011
Acabamos de publicar el programa del Akademy-es 2011 que se celebrará en Barcelona del 20 al 22 de Mayo. Asegurate de registrarte si planes asistir!
Suscribirse a:
Entradas (Atom)