Translating the v0.12 branch

Posted in Miscellaneous on February 25th, 2009 by Adam Plumb – 5 Comments

After initially writing off localization capabilities for v0.12, preferring to wait until v0.13 for that, I later changed my mind and spent some time figuring out how to do it, implementing it, and writing up the documentation for others.

Translating NautilusSvn is a fairly simple process.  We provide a template file that has the English text from our program and a space for the translated text that you will write.  The template file is located at branches/v0.12/nautilussvn/po/NautilusSvn.pot in our svn repository.  In order to start your own translation, you will first need to install the gettext and intltool utilities, which you can generally get from your linux distribution.  You may also want to install poedit, which is a popular and very useful GUI translation tool.

Once you’ve got your environment set up correctly, you can generate the actual translation file you’ll be using.  First, figure out which language and locale you’ll be translating NautilusSvn to.  For example,  en_US is English/United States (the default), and en_CA is English/Canada.  For a list of locale codes, go here.  And for a list of country codes, go here.

Once you’ve figured out your language and locale, you can begin.  For the purposes of this tutorial, I will set up a translation for en_CA (Canadian English).

$ cd /path/to/nautilussvn
$ msginit –input=po/NautilusSvn.pot –locale=en_CA
$ mv en_CA.po po/en_CA.po

The translation file you want to modifiy is now in the po folder, and you can begin your translation!  You may use poedit or another GUI tool or edit the text file by hand.  Once you’ve finished, type:

$ mkdir -p locale/en_CA/LC_MESSAGES
$ msgfmt –output-file=locale/en_CA/LC_MESSAGES/ po/en_CA.po

And you’re done!  If you want NautilusSvn to use your changes, you’ll want to export your language (en_CA) to the LANGUAGE environment variable and restart nautilus and NautilusSvn:

$ export LANGUAGE=en_CA
$ nautilus q; pgrep f | xargs kill; nautilus nodesktop; pgrep f | xargs kill

When your translation is all finished, open a new issue in our Issue Tracker and attach the and .po files that you created.  We will immediately update our development trunk, and it will be included in the next official release.

Launchpad Translations

We’re currently trying to get our project set up on Launchpad in order to coordinate translations from there, but it isn’t quite set up yet.  We will make an announcement on this development blog and also our mailing list when it is completely set up.

String Freeze

NautilusSvn is currently in the “ALPHA” stage of release and we have not yet reached “string freeze” (the point at which we will not change the English strings in the program).  Strings won’t be frozen until we reach the “BETA” release, which is scheduled to happen next week (but it may not if there is a delay).  You can start translating now if you’d like, but please be aware of any changes that happen to the NautilusSvn.pot template file until the beta.

Happy Translating!

Release announcement for v0.12 ALPHA

Posted in Release on February 17th, 2009 by Adam Plumb – Be the first to comment

It has been a long few months of development, but we’re finally ready to announce that the NautilusSvn v0.12 branch is in the ALPHA stage and ready for testing!  This new major version of NautilusSvn is a complete rewrite from top-to-bottom, and features an automatic status monitor (works better than in v0.11), all-new windows/dialogs using PyGTK instead of wxPython, an all new and improved context menu system, and full localization support!

Here’s a proposed release schedule to give you an idea of our release timeline:

FEB 17 – Alpha release (only for brave testers, no installation package)
MAR 3  – Beta release (for general use and testing, with installation package, string freeze)
MAR 10 – RC Release (for general use, nothing should change unless its an urgent bugfix)
MAR 17 – Final v0.12 release!


Note: there are no installation packages available for the alpha release

– The main context menu will appear with items in incorrect places.  This is a bug in nautilus (we think) and so far we haven’t found a workaround.  If you get this, most of the time you can click away (in the nautilus background) and then click back on the original item, and this will give you a correct menu.  If you want to try to find a workaround for us, we’ve created a simple test extension at  Put this in your ~/.nautilus/python-extensions folder and type ‘nautilus -q && nautilus –no-desktop’ to load it up.  If you can find a workaround, you will be a hero.

– The new status monitor is slower than it was in v0.11 because it is fully automated and actually works (most of the time), whereas v0.11 required manual refreshes and did not apply status updates to parent folders.


– We’ve put together installation instructions for Ubuntu, Fedora, and OpenSUSE.  If you install NautilusSvn on a different distro, we’d love it if you could send in distro-specific instructions!

– v0.12 is now fully localizable using .po/.pot files.  If you are interesting in helping us with translations, you can get started immediately by going here ( and reading the README file there for instructions.  We will have our translations hosted on launchpad shortly, but you can work from the source in the meantime.  Also, keep in mind that string-freeze does not start until the BETA release.

– Just use the extension and windows to their fullest and report any bugs or issues you find.  Go here ( to report any issues you have.

We’re very excited about the v0.12 release and we hope you all are too!

The NautilusSvn Team

Highlighting the Commit window

Posted in Miscellaneous on February 9th, 2009 by Adam Plumb – 1 Comment

This is my first post highlighting NautilusSvn’s many UI windows and dialogs.  First in line is the frequently used Commit window.

The Commit window provides an interface for committing or checking in modifications made to your working copy.   The first area of the window, “Commit to:”, shows you the repository you are working with.  The “Add Message” area allows you to add a log entry to your commit.  The Changed Files table shows all added, deleted, modified, missing, replaced, obstructed, or unversioned files.  Best of all, there is now a context menu that gives you the opportunity to View Diff, Open, Browse to, Delete, Add. Revert, or Ignore the file in question.


When you click the “Previous Messages” button, a dialog pops up with the past 30 messages you’ve written (changeable in settings).


When you click “OK”, the commit starts and the notification window pops up, giving you feedback and what is going on…


Happy committing!