Xfce

Subdomains
 

Translating Xfce

  • March 27, 2009
  • Jérôme Guelfucci

Having Xfce translated into as many languages as possible and maintaining translations of high quality is essential. People will not use a desktop environment that they do not understand! The Xfce i18n Project is in charge of this task and always needs new contributors. You do not need any particular skill, except understanding English, writing your own language correctly and motivation.

Let's see how you can contribute to this project.

First step: contact any existing translators for your language

Reference: the Language Maintainers page on the Xfce i18n Wiki.

Their might already be contributors to the translation of Xfce into your language listed on this page. If this is the case, you should get in touch with them and ask them how you can help. If the page is not up to date, you should warn us or update it yourself.

Let's see how to translate an application or to update a translation now.

Second step: download the translation files

The applications are translated using pot files, with a 'po' extension: those files basically contain each English string and its translation. There is also a template for creating a pot file for a new translation: it is the file which has a 'pot' extension. Every time a developper changes a string in the application, he will update the pot files and the translation will have to be updated accordingly.

Those files are located on the Xfce SVN to ease cooperation and distribution. We will use a script to ease the downloading of those files, this script will also allow you to update your pot files easily. This script requires Subversion to work.

Download the script and move it to a folder where you want to store the pot files. Then run the following command in this directory to make the script executable:

chmod +x xdt-i18n

Then, use this command to get the pot files for the core applications for the first time:

xdt-i18n init xfce/trunk

And for the goodies:

xdt-i18n init goodies/trunk

You should always make sure that you are using the latest pot files when starting to translate a project. This command allows you to update the pot files quickly:

xdt-i18n update

Third step: start translating

The script above downloaded the latest translation files and put them in separate folder. Go to the folder of the application you want to translate or or of the application whose translation you want to improve. The translation files will be available in a po folder. If there is a file for your language, you will be able to start translating directly. If not you will have to create a file for your language by copying the pot file and renaming it to your_locale_identifier.po. To find the locale identifier, you can use this page.

To translate, open the po file using your favorite text editor. You will see a main header composed of likes similar to this:

"Project-Id-Version: Thunar\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-11 00:20+0100\n"
"PO-Revision-Date: 2009-02-11 13:20+0100\n"
"Last-Translator: Mike Massonnet <mmassonnet@gmail.com>\n"
"Language-Team: French <xfce-i18n@xfce.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

Update the PO-Revision-Date field with the current date and time and the Last-Translator field with your name and your email so that the next translator can contact you if he has some questions. After that you can start the real translation job.

Every sentence already translated is displayed in the po file as the following one:

msgid "Invalid file name"
msgstr "Nom de fichier non valide"

Untranslated strings are displayed as this one:

msgid "Only local files may be renamed"
msgstr ""

Some strings may also be marked as fuzzy, which means that the original sentence has changed a bit and that the translation is not totally wrong but still needs to be checked and/or fixed. Make sure to remove the '#,fuzzy' after fixing the string.

#, fuzzy
msgid "Screenshot.png"
msgstr " Screenshot"

msgid allows you to identify the original string and msgstr to identify the translated strings. Modifying the msgid strings will have no effect, if you see a typo in one of them, file a bug. To translate a string or update a translation, just modify the text between the "" in the msgstr field.

Some strings may contain slashes or weird characters such as "%s" or "%i". You should always make sure that those characters are also present in the translated string in the same order, or the application will be broken in your language. To check if your translation is valid, the xdt-i18n script offers a check option which will check all po files for your language:

xdt-i18n check your_language_code.po

If it displays any warning, you must fix it before sharing your translation.

You can also use this script to see the stats for a given language, that is to say the number of translated messages, the number of fuzzy and untranslated ones:

xdt-i18n stat your_language_code.po

You can also use Poedit to modify the po files. It updates the po headers automatically, sorts the strings by category (translated, fuzzy and untranslated) and provides a friendly interface.

Fourth step: get your translation in

Once you are done with your translations, go to the root of your xfce/trunk folder or goodies/trunk folder and use the following command to create a patch named my_language.diff containing your translations:

svn diff > my_language.diff

If there is a maintainer for your language, you should send him this file asking him politely to review it and get it in. If not, you should send it to the Xfce i18n mailing list where someone will review it and get it in.

Fourth step: this tutorial sucks and you need more information

The Xfce i18n Wiki contains a lot of information but some of it may be outdated. If you have any questions, please ask them on the Xfce i18n mailing list.

I hope that I was clear enough and that we will be flooded with new or improved translations! We need you!

libxfce4menu to be renamed to gdesktopmenu

  • March 26, 2009
  • Jannis Pohlmann

Now that all Xfce dependencies have been removed from libxfce4menu, I'm planning to rename it to something more generic. Travis Watkins from Alacarte has expressed interest in helping with writing the XfceMenuEditor (err GDesktopMenuEditor) part. He is also working on Vala bindings for the library.

With a more complete API and polished code perhaps we can even move gdesktopmenu over to freedesktop.org ... who knows.

Xfce4 Screenshooter news

  • March 21, 2009
  • Jérôme Guelfucci

During the last few days, I found some time to improve Xfce4 Screenshooter and implement some new features.

Interface

The interface has been slightly improved, it should be more user friendly and take less space. I also added an option allowing you to chose whether the mouse pointer should be displayed on the screenshot.

screenshooter_improved_interface

Improved 'Region' mode

When selecting a region to be screenshooted using the mouse, you can now use the Escape key to cancel the operation.

Saving screenshots to remote locations

It is now possible to save screenshots to remote locations such as FTP, computers accessible via SSH, a Samba shared folder... The window below is displayed to show the progress of the upload and to cancel it.

screenshooter_upload_dialog

This is totally transparent for the user. Remote locations connected with Gigolo or gvfs-connect are automatically available in the save dialog, as any other local folder.

I still have to update the documentation for those new features and to improve various other points, a new release might be out in May.

Thesis: Migrating Thunar to GIO

  • March 20, 2009
  • Jannis Pohlmann

I've semi-officially (whatever that means) started working on my thesis on migrating Thunar from ThunarVFS to GIO. I'll work on it in public. That means research material, testing results, status reports and of course the code will be publically available in a read-only wiki and our Subversion repository in a special branch respectively.

I'm always open to suggestions and opinions. Just drop me a mail if you have something to say.

If everything goes as planned (err, did I really sayplanned?) GIO will land in Thunar 1.2 which is supposed to be released along with Xfce 4.8. There's no warranty for this though.

Clipboard Managers Done Right

  • March 20, 2009
  • Jannis Pohlmann

I just had a look at the screenshots of Parcellite, a GTK+ clipboard manager, mainly because I didn't know what it is.

And just like with Getting Things Done tools before, I immediately had a few ideas how clipboard managers like this could be improved.

If you add a file or a URI to the clipboard, what do you expect to see in a visualization of the clipboard? Do you expect to see the path or filename or do you expect to see an icon and the filename together with a button to open or launch that file? Maybe even a possiblity to drag the item into a file manager or some other program? It's very easy to do things like that with GIO or even ThunarVFS.

What if you copy an email address into the clipboard? Do you expect only to see the email address or would you rather like to see the email address with one or two buttons (add to addressbook, send email)?

What are your experiences with clipboard tools? Are you using them at all? If not, why? What features would you like to see in a clipboard manager to make it attractive to use?

Xfce 4.6.0 Released

  • March 15, 2009
  • Brian Tarricone
I’m a bit late with this, but we finally got Xfce 4.6.0 out the door. Others have written much more about this than I have, so feel free to read about it on our blog aggregator.

Git Weirdness, Part 2

  • March 15, 2009
  • Brian Tarricone
Ok, now this is just ridiculous: [brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig [...]

Getting Things Done Right

  • March 15, 2009
  • Jannis Pohlmann

I've started to read Getting Things Done by David Allen some time ago. You can read about the concept of GTD at 43 Folders or Lunch & Learn if all you want is a short summary.

I think it's an interesting idea and it sounds very pragmatic and feasable. I'm a very unorganized person. I usually try to keep everything I need to do in my head and I rely on friends to remind me of birthdays, exams and other events because I don't have or use a calendar. I guess I'm a tough test candidate for GTD ... and I'm planning to give it a shot.

Now the only problem I see is the question which tools I should use. I'm not that much into paperwork, so I'd like to use my laptop for organizing my tasks. Of course you can use simple text files or other generic tools to do that (just like you can use paper) but that's really far from optimal.

About a week ago, a program called Getting Things Gnome! popped up on Planet GNOME and of course there is a number of online or offline tools designed after GTD available for Linux. Most of them allow you to define tasks, add notes, group them into projects and stuff like that. However, what they are missing is proper integration with other programs, online services and file formats. Notes are limited, they usually only consist of text, though sometimes they also support markup. In a lot of scenarios this is not enough (at least it is a very complicated way) to attach useful information to a task.

Just imagine the following situation: I receive an email from someone with a link and a few pictures and asks me to do something with them, e.g. upload these pictures to the website with the given link. If I want to make that a task, I'd like to be able to attach the pictures and the link to the task. So that afterwards I can trash the mail and thereby empty my inbox again. I don't necessarily want to keep it somewhere in my email program unless it has a really good search function.

Imagine another situation: Someone sends me an email describing a problem in my software together with a link to a bugzilla entry and a backtrace file. Let's say I'm working on a new release, there's a deadline for this release and the bug is critical. I'd like to create a task for that, attach the mail content and the backtrace file. Due to the deadline I also want to set the date this task is due and have my favorite calendar application being synchronized of course.

Basically, for a GTD application to be really useful in a computer environment, it

  • has to allow arbitrary task attachments likes files, emails, links or even calendar events (possibly implemented as plugins),
  • has to support calendar synchronization (off- and online),
  • needs to provide extensions for programs that are part of the workflow so that the user can create tasks from anywhere,
  • should use a storage format that can easily be converted into other formats (to make it easier for people to switch tools without losing all their tasks).

Of course there's more involved in getting it right. But most of todays GTD applications for Linux lack the above features and thus keep me from trying GTD out on my machine.

What are your experiences with GTD software? What features do you think are essential?

A Day Like Any Other

  • March 14, 2009
  • Jannis Pohlmann

After having finished watching Barfly, I kinda felt like I had to sum up the day. It went like this:

That's it.

There won't be many days like this in the next few weeks. I'm about to move in with a friend of mine at the beginning of next month. I'm going to start working on my thesis about Thunar next week. I still have a voluntary oral exam in software verification ahead of me in 12 days (I think ...) and of course I need to find someone to take over the appartment I'm currently living in. Lots and lots of things to keep me more than busy.

Xfce Buildbot Server – Call for Donations

  • March 13, 2009
  • Jannis Pohlmann

We've talked about the possibility of an Xfce Buildbot server for a while now. Samuel Verstraete, a fellow Lunar Linux developer, and Thomas Dupas have offered to donate a server for that. The University of Stockholm has kindly accepted to house it. The main Lunar Linux/Foo Projects server is already located there and we've made very positive experiences with them in the past.

But right now the server is still in Belgium. Samuel has calculated that 87 EUR are needed for UPS shipment. The server currently has 2 GB of RAM which is not much considering that we're planning to run several virtual machines on it. So if we could gather 40 EUR for an another 4 GB of RAM that would be great! In addition its worth thinking about adding another CPU. The machine has two sockets of which only one is being used right now. That would add another 40 EUR.

So, all in all we're in need of 130-170 EUR here. This is why we'd be very happy if you people could help us out here.

Every donator will be personally mentioned on this weblog (and thus on blog.xfce.org) and on our mailing lists. Due to the lack an official PayPal account for Xfce, donations can be send to my account: info@sten-net.de.

A start has already been made by these people:

  • Michael Marending (who donated to Thunar a while a go)
  • Enrico Tröger
  • Colin Leroy
  • Michele Renda
  • Madcap
  • Harold Aling
  • Christoph Borsbach
  • Nick Schermer
  • Jim Campbell
  • Jean Philippe Neumann
  • Brian J. Tarricone
  • Maximilan Schleiss
  • Fedora
  • Alexander Zolotko

Current Status: 485/170 EUR

We'll post a final update in a few days, when the missing hardware has arrived at Samuel's place.

Thanks to everyone for making this happen so fast!