PortaBase Translations

In order to make PortaBase easier to use for people whose native language is not English, it is important to provide translations into other languages. This is a task which requires no knowledge of the PortaBase source code, or even of programming at all; one dedicated user is perfectly capable of translating PortaBase into a new language. The purpose of this page is to explain how to do this.


Transifex

All of the translations for PortaBase are now being managed on the Transifex service. This is an open source web-based translation system which is hosted free of charge for other open source projects (such as PortaBase). Take a look at the PortaBase project page to get a feel for what it offers. To start working on a translation for PortaBase, do the following:

  1. Create an account on the Transifex site. Use the "Sign Up Free" button for translators and open source projects, just above the "Questions & Answers" section at the bottom of the page.
  2. Contact me (via the Transifex interface, email, or other method of your choice) to request to be added to the PortaBase project as a translator for your language (and to add the language to the project, if it's one that hasn't been worked on yet). If you do this by email, make sure to tell me what your Transifex username is.
  3. Once you've been added as a translator for the project, start translating the resources; the main "portabase" resource containing the user interface text is probably the best place to start.

The following resources may be useful in learning how to use Transifex:

There are 3 basic resources that need to be translated for each language:

  • User interface text
  • Help file
  • Web pages

User interface text

PortaBase currently uses a few hundred different phrases in the user interface; these appear in menus, buttons, error messages, etc. These are stored in the "portabase" resource, which is probably the most important one to translate because it influences every use of the program.


Note that there are additional phrases used by the Qt framework itself rather than PortaBase. These have already been translated into many languages by contributors to the Qt project, but in case your language isn't done yet or you're unhappy with the choices made by the translators who did that work, I'm also making them available on the PortaBase Transifex page as the "qt" resource for editing. The set of messages in it has been trimmed down from the full list of Qt messages, so that they only include phrases you could realistically encounter while using PortaBase.


If you want to test your latest translation updates in the PortaBase UI before the next version of PortaBase is released, click the "Download for use" link in the summary dialog for the resource in your language to download the file you'll need. To actually be used by PortaBase, this ".ts" text file needs to be converted to a ".qm" binary file. This can be generated from the Qt Linguist application by selecting "File->Release...", or by using the lrelease command-line tool that comes with Qt (on Debian, it's included in libqt4-dev). PortaBase normally uses copies of the qm files that were bundled into the executable, but you can specify the paths to ones you've built yourself with the PORTABASE_QM and PORTABASE_QT_QM environment variables (the first is for the PortaBase phrases, the second is for the Qt phrases).


Help files

Probably the next most important resources needing translation are the help files, since these explain in detail what the program is capable of and how to use it. Unfortunately they collectively contain quite a bit of text, and therefore take a significant amount of time to translate. All of the resources in the PortaBase Transifex project categorized as "Help" are part of this documentation. You can see the help files here (as of this writing, there are also mostly complete translations into Czech, French, Japanese, and traditional Chinese).


If you want to test out the PortaBase help pages using your translation as they'll appear in the application, you'll need to do the following:

  1. Download the PortaBase source code, preferably the latest version from source control; install git if you don't already have it and run "git clone git://git.code.sf.net/p/portabase/code-0 portabase".
  2. Follow the instructions in PortaBase's INSTALL file to install the other software you'll need and to actually generate the help files.

If you find text in the help pages which was generated by the Sphinx tool itself (search instructions, navigation links, etc.) that isn't correctly translated, you can edit them in the "sphinx" resource. Please consider contributing such improvements to the Sphinx project directly as well. If you build the help pages yourself to test your translation, note that a few phrases related to the search function currently require some extra processing to appear correctly; just translate them in the sphinx resource along with the other phrases, and I'll make sure they appear in the released version of PortaBase.


Web pages

The final PortaBase resource needing translation is the web site. Having this translated makes it easier for potential users to decide if PortaBase would be useful to them or not, and for current users to find out what has changed with each new version. None of the pages on the web site have been translated into other languages yet, but let me know if you're interested in doing so; these can also be uploaded to Transifex and managed there.


Status

This is a quick reference chart for what translations have been done, who is currently maintaining them, and who else has worked on them (in parentheses). Note that there was a 2 year gap between PortaBase 2.0 and the upcoming 2.1 (and 6 years between 1.9 and 2.0), so some of these people may no longer be interested in maintaining the translations; entries with question marks represent languages which are supported in earlier versions but haven't yet been updated for the PortaBase 2.x series.


Resource cs de en es fr ja sk zh_CN zh_TW
UI text JM ? (ST) JB ? (JG) DP (ES) JB S FZ LS (JL)
Help file JM   JB   DP JB (MT)     LS (JL)
Web pages     JB            

Translators:

  • DP - Dany Poupard
  • ES - Eric Santonacci
  • FZ - Fiona Zhao
  • JB - Jeremy Bowman
  • JG - Juan Carlos Jiménez García
  • JL - Jeng-Ping Lin
  • JM - Jaromir Mara
  • LS - Linda Su
  • MT - Makio Tsukamoto
  • S - Slavko
  • ST - Sven Trampel

Language codes:

  • cs - Czech
  • de - German
  • en - English
  • es - Spanish
  • fr - French
  • ja - Japanese
  • sk - Slovak
  • zh_CN - simplified Chinese
  • zh_TW - traditional Chinese

If you'd like to work on translating a resource/language combination that isn't being worked on by someone else, please contact me so I can add you to the table. Do this before you start working on it, so we don't end up with several people working on the same thing.


I'll update the resources periodically over the course of development, as the UI and the documentation changes. Feel free to update the translations on Transifex whenever you see that changes have been made. When I'm ready to release a new version of PortaBase, I'll try to give at least a week of notice so people have time to get the translations of the finalized resources up to date before the release.