Categoria: GNOMECAT (GSoC)

API, GUADEC and big files

During the last days I have been working on completing the program features that were planned for GSOC. I have create a program API which allows a user to create useful plugins like a checkers which checks if a message is translated correctly and a hint provider which provides translations to the user as a Translation Memory.

On the other hand, I have been on Strasbourg GUADEC!! It’s has been an awesome three days where I met old and new friends and I have the opportunity of give a lighting talk about my work on GSoC. Thanks to GNOME for sponsoring me!! :)).

The most important step for concluding this GSoC is to make the program works with big files (3000 messages or more). I believe that I habe discovered the problems that cause this issue. The program has a ListBox where each row represents a message. When I open a big file (GNumeric for example) the program memory consumption goes from 70MB to 230MB and the program is terribly slow. I tried to make each row lighter removing some icons and using a simple two lines label but the problem remains so I decided to try with TreeView. I have written two program test to store a huge amount of rows using TreeView and ListBox and the performance of the TreeView widget is quite better. So I will create a new custom CellRenderer to display the message information inside a treeview.

The program is almost ready for use so I really need some beta tester translators to test it and to give me their opinion or to find bugs. I’m using GitHub issue tracker so file a bug is really easy :). If any developer wants to help it would be really appreciated too.

Details and more details

Since my last report I have been working on improving gettext-po bindings, fixing some bugs and starting to implement the plugin engine.

The gettext-po bindings are finished and the whole gettext-po library has its equivalent on the Vala bindings. The plugins engine is implemented but I have to create an API to be able to do a useful plugin. I have been cleaning the code so creating that API should be easier.

In addition, I have implement a notification bar which indicates the user that there are no messages that have the search criteria for example and the message list scroll works properly when we select a item. I have been trying some things for implement “automatic scrolling” but I finally do it manually. The problem is that when a row is selected, this row grabs the focus so if we are typing inside the search bar, we can not continue typing.

During the next weeks I will create a API that makes possible to create useful plugins and I will fix the bugs and details that the application has.

You can try the program downloading it from Github.

The GUADEC will start at the 26th of July and I will be there 🙂 so if you have some idea about the application, a good place to tell me would be there.

Keep working on GNOMECAT

During last weeks I have been working on improving the program UI and the po file management. You can see the result in the following video:

I have improve PoFiles bindings including functions to file header and string origins management and fixing some errors. I have use the information from header files to improve opened files panel and to create a custom recent files widget.

Saving files almost works. We can save a file but there are some troubles with origins which I should fix. In addition I have modify a little the implementation of the Po File class in order to make it more efficient.

I’m starting to improve the profile panel and I have started separating the entries in two stackable panels for basic and advanced configuration. I added autocomplete for plural form and team email when we select a language but it only works in a couple of languages :S. If you can contribute to the code an easy and very useful way would be to fill this data for some languages. You can even do this from the GitHub interface.

You can try and contribute to the code using the GitHub repository. If you are interested on contributing to the application the most relevant part I should work on is figure out how to improve the program performance with big files (gnumeric could be a good example).

On the other hand I’m planning to attend this year GUADEC (I have already bought the flights). There it will be a I18N BoF which I’m afraid I wont be able to assist because I leave Strasbourg on 29th of July. However it would be really interesting to receive some feedback from the translators during that days.


I have to thanks GNOME Foundation for sponsoring the trip one year again 🙂

Implementing the Editing Panel

During the last week I have been re-implementing the editing panel following the guidelines provided by the mockup which Daniel Korostil made some time ago:


You can watch the final result on the following video:

The biggest part of the edit panel is occupied with the editor panel where we can translate the strings and get some information related to them like the tips and the origins. Message tips are more visible now.

I have also implement message origins and I added the possibility of view these origins but as you can see I’m using a Gtk Popover widget which is part of GTK+ 3.12. I’m currently using Fedora 20 and my version of GTK+ is 3.10 so I need to use JHBuild to view this feature and I guess that most of translator who are trying the application are in a similar situation. That’s why I have decided to move this commit to a separate git branch.

During this week I have also add keyboard shortcuts to some actions. You can see what shortcuts I have created here. The most are completely random so I need to figure out which is the best shortcuts mapping that I can use. Any idea is really welcomed.

I’m trying to write down all the issues I need to fix or implement at the GitHub issues system. There you can find which are the next steps in the application implementation.

GNOMECAT. Progress report

I have been accepted again to participate in Google Summer of Code program!! During this summer I plan to finish the application I started during last summer.

The first month I have been really bussy with some university exams and projects so I haven’t be able to post any report. But I have been working on changing some parts of the UI interface.

I have create a design wiki page using the relevant art from the previous GTranslator redesign and I have added some new designs. I have started to implement this designs you can see the result in the following video.

As you can see I have remove the preferences dialog and now it’s part of the main window. In addition I have add a .desktop file, I have implemented i18n support, a wellcome mode where the program forces the user to create a profile before starting to use the program, etc. You can see all my work in the repository commits.

I expect you like the result. It needs to be polished and some bug fixing (encoding combobox for example) but I believe that you can see the idea. My next step is to redesign the main editing window to make something similar to this.

You can test the code downloading it from the GitHub repository. I use Fedora 20 (with GNOME 3.10) and I don’t need to use JHBuild for compiling and running the program.

Please, if you have any trouble building, installing or running the program do not hesitate to contact me leaving a comment or sending an email.

GNOMECAT. Let’s Strike again!

As you can see in my GNOMECAT commits I have been a couple or more months really inactive 😕 .

I have been too busy with my university exams and projects. I have become the secretary of GPUL (2012 GUADEC organizers), which is awesome but it takes an amazing amount of time. And, in addition, I have got employed by R (a galician ISP), which is also great but it takes another important amount of time too.

So that’s why I have not worked in GNOMECAT application during that time and I’m afraid that the situation isn’t gonna change in the next few months.

On the other hand, I have acquire a compromise with GNOME community when I started my GSoC internship. I should create an application to help GNOME translators and the application isn’t done. So I really want to finish GNOMECAT and I think that this summer would be a good time to do it. Providing that I find a mentor, I’m going to apply again for a Google Summer of Code.

The purpose of this GSoC is, obviously, finish the application. So in this post I’m going to sum up what’s is done and what I’m going to do this summer.

Ler o resto desta entrada »

Se continuas empregando esta web, aceptas o uso de cookies. máis información

As cookies son pequenos paquetes de datos que se almacenan no teu navegador e que permiten mellorar a experiencia de usuario. Se continúas a usar esta web sen cambiar a túa configuración das cookies ou premes o boton "Aceptar" estas aceptando o uso de cookies neste sitio.