Translate Toolkit & Pootle

Tools to help you make your software local

User Tools

Using Pootle

It's simple, straight-forward and successful.

1. Register
2. Login and choose your language
3. Set your preferences
4. Choose your project
5. Request translation rights
6. Choose your file
7. Translate!

Let's start at the beginning…


Registration at any Pootle server, whether the main one, or a local one, whether online or offline, is the same. Click on Register.

Then input your Username, Password, Full name and Email address. Click the Register button!

You will receive an email with an activation code. Follow its instructions, and you should be able to login to Pootle.

If you have any problems, ask a question on the Pootle users mailing list, or on the freenode #pootle channel on IRC.

All registered? Now you can…

Login and Choose your language

Input your login details (username and password), then choose your language from the drop-down menu below those input fields. What a huge list of languages Pootle supports!

Once you've logged in once, and set your preferences, your browser should input the login details for you, and Pootle should remember your chosen language (the drop-down menu will simply show “default”). Don't you love it when programs save you hassle? :)

If your language isn't available (amazing as it may seem when you see that list), all you need to do is write to the mailing list, or pop up on the freenode #pootle channel on IRC, and ask an admin to add your language. If your Pootle server is local, ask your local admin. Just supply the name of the language and the ISO language code for it.

You can see the ISO-639 list of all language names and codes, with other language-specific information, listed on this Localization Resources page.

Again, if you have any problems or questions, anything whatsoever, just ask a question on the mailing list, or on the freenode #pootle channel on IRC. We're a very supportive community, and help each other out wherever possible.

So, you're registered and logged in. What now? You can setup your translation interface, to save yourself time and suit your own needs, by…

Setting your preferences

In my language, the link says “Modify options”, but it's all about making choices for your own Pootle.

You can change any of the values on this Prefs page, and you'll notice more than one Save Changes button as you move down the page. They all do the same thing.

Your personal details are here, plus your chosen interface language. Yes, you can use Pootle in your own language! If your language isn't represented on this drop-down list, you just need to translate the Pootle interface files. They're not large, and not difficult to translate. Just select them, exactly like any other translation project/file on Pootle, and translate them. But first, let's finish setting some options…

You can set the number of rows/strings displayed when you're in translation mode. Translation mode allows you to input and edit text.

The width and height of the input pane are also configurable here.

You can set the number of rows/strings displayed when you're in review mode. This will generally be a higher number than when in translation mode, so in review mode you can move more quickly through the file.

These numbers are completely configurable, so you can choose what suits you. Experiment with them, and come back and change them until you're happy with the result. You can change them anytime you like, to suit different situations. It's up to you. :)

Next we have the list of My Projects. Choose the projects for which you have been authorized by your project co-ordinator or language-team leader. Authorization is important, to make sure nobody wastes their time doing the same task twice, and to help the admins keep track of what's going on. You could choose projects here anyway, but they wouldn't appear in your files list, for you to translate.

If you haven't been authorized for a project which you'd like to translate, ask your project/team leader.

This is a key step, since most Pootle servers only give you the right to View and Suggest translations, by default. In order to gain the right to Translate (actually edit the files on the server), you need to request that right from your language-team or project admin. If you don't know who that is, please ask on the mailing list for your project (in the case of the main Pootle, translate-pootle). If you don't know which mailing list represents your project, go to its homepage (click on its name on the About This Pootle page), and look for a page about i18n, Translation or Mailing lists. If you still can't find the appropriate list, write to the Contact Us address. A well-organized project should make this kind of information easily-available.

Once you're authorized for a project, next time you login to Pootle, and set that project in these Options, it should appear in your Quick Links. Quick Links keep track of your main activities on Pootle, and save you time by listing them when you login.

Your language-team or project admin will usually grant you the right to Translate, once you request it personally. If you are entirely new to translating, your admin may request you only Suggest translations for a while, to demonstrate your understanding of the task. This is a good way to learn the job, and in no way a criticism of your ability or enthusiasm.

Back to the Options page: the last Option (at the moment) is the list My Languages. If you choose a language here, but after you save your options, it doesn't appear in your Quick Links, you haven't asked to join that language-team. To be authorized for a language, you need to contact the language-team admin. This contact address will be on the i18n page for your project: if not, you ask on the mailing list.

On the Options page, once you choose your language(s) and hit Save Changes, you're finished!

Again, especially when you're starting out, we're expecting questions on the mailing list, or on the freenode #pootle channel on IRC. If you don't have contact details yet for your project or team leader, ask us. We'll point you in the right direction. Project and team leaders are always happy to meet new translators. :)

Now, hit the Main Page link, where you can…

Choose your project

The Main Page link should take you back to the page displayed when you first login. It should show your Quick Links. If your project is listed there, you can select it now. If it isn't listed there yet, and you have been authorized to translate it, you can choose it by clicking on the All Projects link, in the information box in the upper-right corner of the Pootle page. (Again, if it won't appear once you choose it, you need to request permission to translate that project, or if that has already been granted, contact your admin and ask why it doesn't appear.)

The helpful links in that info. box are Documentation and Help, All Projects, All Languages and Main Page. You can also Login or Logout from there. While you're logged in, your username should show there. This little info box is unobtrusive but very useful.

Now, whether you click on a project in your Quick Links, or from the All Projects listing, you get the same display. Lots of statistics. ;)

These are important to managing a project, but don't let them intimidate you. They're just numbers. All you need to remember is that the top set of information is overall data for that project, and the sets underneath that are specific sections or files. I always focus in on how many strings have been translated, out of the total (good for checking if a file needs updating). You can see this number as a percentage, or as strings, or as words. (They'll probably start telling us how many individual bytes are involved, too… :D )

Choose your file

Now, looking at the links for each file, there are some time-saving options here. The first four links let you choose which strings you see in that file.

Link Displays the first screen of
filename the whole file
translate my strings the strings assigned to you by your project or team leader (handy when a file is being shared among different translators)
quick translate my strings the untranslated/fuzzy strings remaining in the strings assigned to you in that file
quick translate the untranslated/fuzzy strings remaining in that file
translate all the whole file (the same as clicking on the filename)

These links will be greyed out (inactive) if clicking on them would not show any strings.

The other four options let you dowload the current version of the translation file in a variety of formats, using the Translate Toolkit's handy converters.

Link Downloads the current file in
PO file gettext .po format
XLIFF file XML .xliff format
Qt .ts file the .ts format handled by Qt Linguist
CSV file .csv format, comma-separated values, easily imported/exported by many programs

For some projects (e.g. Firefox, OpenOffice) that don't maintain PO files in their translation project source, we can already convert file formats. If you're working with file formats other than .po (Portable Object, the gettext translation file format), please also see nonpo: we can convert many key formats.

Our aim is to provide a translation interface where you don't have to worry about file formats. Already, we can handle a variety of formats, and we plan to handle as many as possible.

Translators shouldn't have to worry about file-conversions! Bring your translation file to us, and we'll put it up on Pootle for you, so you can translate it, then give it back to you in whatever format you need.

If your format isn't listed here yet, just ask on the mailing list, or on the freenode #pootle channel on IRC. We'll convert your file, if possible, and upload it for you.

Now, having decided which file you want to translate, you click on your preferred display option (e.g. Quick Translate).


Here is the world-famous Pootle input interface. At the top, under the Pootle banner, you have the summary for your file. This will update as you work.

On the right-hand side, as before, you have the Pootle info. box. It now also shows a Search field, which allows you to search for text in the current file.

The main part of the interface is the translation section. On the left, the original strings are shown. On the right, you can input or edit the translation for each string. Your chosen number of strings for the translation interface will be shown, but only the active string will show the translation input field.

However, hovering the mouse over any of the other translated strings will show an Edit link. Clicking on this Edit link will make that string the active translation, so you can input/edit text.

The translation input field has a number of time-saving features. (See The Pootle roadmap for our plans to expand these features, and to add your own ideas/comments. :) )

Firstly, hitting the Tab key will cycle through the input field and buttons. Secondly, there are keyboard shortcuts, so users who prefer keyboard use can control the whole interface pretty much from the keyboard.

FIXME List of keyboard shortcuts

Button Effect
back goes back to the previous string
ignore changes nothing, skips to the next string
copy copies the original string into the translation field
commit saves the translation to the current file
Link Effect on the input field
bigger increases size
smaller decreases size

It's simple to use, intuitive, and lets you get on with translation.


Pootle has been built on the ideas and contributions of its community. We're constantly improving it, and we want to hear about your experiences in using it. Please talk to us on the mailing list, or on the freenode #pootle channel on IRC. Tell us how Pootle works for you, and how it could work even better.

Report any bugs you find, so we can fix them. At, report problems under the “Pootle” component (for bugs in the source code) or under the “” component (for errors on the website). Share your experience and ideas on any problems you encounter, on the mailing list, or on the freenode IRC channel #pootle. The more you get involved, the more you can make happen. :)