Extras

File Manager Context Menu

macOS

Windows

Linux

There are many different flavors of Linux using different file managers. This makes it difficult to give a guide to cover all cases. Please research about your specific distro's file manager and how to add context menus. If you would like to include the info here, please issue a pull request to update the documentation.

Ubuntu Nautilus (Gnome)

Paths might vary depending on Ubuntu version etc.

Ubuntu Dolphin (KDE)

At the time of writing, this was tested on KDE 5, so most of the commands are appended with '5'.

Localization

Rummage provides an i18n localization framework to allow support for displaying the UI in other locales. Currently the project only has an incomplete Russian translation (I don't speak Russian, so I can't complete it).

Translations should be compiled and included by default requiring no additional steps starting in version 3.6.0.

I only speak English, so I do not maintain the translations. If the UI changes, someone from the community will need to update them appropriately via pull requests or they will remain out of date.

Editing Existing Translations

Translations are stored at rummage/lib/gui/localization/locale/<LOCALE>/LC_MESSAGES/rummage.po. Just edit the rummage.po for the appropriate <LOCALE>.

Inside each .po file there will be a msgid for each unique translatable string. Each msgid represents the actual US English text that is shown in Rummage. Underneath each msgid, you'll also find a msgstr which represents the translation for the msgid. Just edit the corresponding msgstr for each msgid in the existing rummage.po file.

msgid "About"
msgstr "<my_translation>"

Generate New Template from Source

In the Python source, you'll notice that translatable strings are represented as _("some text"). _ is the function that retrieves the proper translations. In order to provide translations, we have to build up a template of all of these strings in a .pot file. This is done by running:

python setup.py extract_messages

This will scan the Python source and generate a template at rummage/lib/gui/localization/locale/rummage.pot.

If you update the source in a way that requires generating a new .pot file, then you will most likely need to update existing .po files as well. See Update Translation Files to see how.

See Babel's documentation on extract_messages for more info.

Update Translation Files

When new strings are added in the source, or strings are changed, you will need to re-generate the .pot file and then update the .po files. This should update all .po files.

python setup.py update_catalog

If you need to only update a specific .po file:

python setup.py update_catalog -l en_US

See Babel's documentation on update_catalog for more info.

Create New Translations

To create a translation .po file to edit, all you need to do is run the command below specifying your locale. The command should create a .po file to edit and the associated directory structure.

python setup.py init_catalog -l en_US

See Babel's documentation on init_catalog for more info.

Build Translations

Building translations is also pretty easy:

python setup.py compile_catalog

This should build .mo files for all languages. See Babel's documentation on compile_catalog for more info.