Qt Creator Translation Page
The authoritative resource about contributing translations is the Qt Localization page. This page is meant as a place to collect information on existing translation efforts. Please feel free to add information on the languages you want to work on and announce your intent at the Qt localization list. Some contact information would be great, too:-)
There is no English translation- it is the native language of Qt Creator. Regional variants and proper plurals are thinkable, but nobody cared enough to do a translation for just that so far.
The German translation is maintained as part of Qt Creator itself. Please check the Qt Creator Page for contact information
Japanese translation seems to be hosted here
See the blog post.
Active Russian, Chinese and Slovenian translation teams exist as well. TODO: elaborate on this.
User Interface Text Conventions
The below guidelines explain what is required to make it easy for interpreters to create good translations for Qt-based applications using Qt Linguist or other tools. Basically, as a developer, always be aware that an interpreter commissioned to create a translation of your code might have no knowledge of software development at all.
- Add linguist comments ( //:) to clarify where appropriate
//: Contact book "Add person" button label return tr("Add");
- If the class is not a
QCoreApplication::translate("class context", "text").
- Do NOT use
QObject::tr()as this is confusing since the messages appear grouped by class context in linguist.
- Avoid contractions, do not shout at users using exclamation marks:
tr("Can't open the file!")should be
tr("Cannot open the file.").
- Use plurals correctly:
tr("%1 files found").arg(number)should be
tr("%n files found", 0, number).
- Be aware that articles have a grammatical gender in some languages and sentences cannot be as easily constructed as in English, so avoid things like
tr("%1 failed").arg(someCondition ? "the operation" : "opening a file").
- Try to avoid concatenating messages (use "%1" formatting instead), as some constructions may not work for grammar reasons. Also, NEVER use leading/trailing/multiple blanks to achieve formatting in a message, as they will invariably be clobbered by translators (think Excel, other tools). So,
tr("Foo failed: ") + message
tr("Foo failed: %1").arg(message)
- When using Qt Designer, mark text that is not supposed to be translated (for example, dummy data or initial values for label texts that will be set programatically) as such (check off 'translate' in the property editor).
- In Qt Designer, preferably use plain text for Tooltips. Should you want some extra formatting, write short, canonical HTML in the source tab of the rich text editor:
In Qt 4.7, ALWAYS use the source tab of the Designer rich text editor and verify that you do not get unneeded HTML annotation created by the automatic conversion from the rich text editor tab. Reason being that it contains a lot of stylesheet information and hard-coded fonts that look bad on other platforms and are almost impossible to translate in Linguist (which does not have an HTML editor).
Qt Designer 4.8 has a feature simplifying the rich text (on by default), still, you should verify by looking at the source tab.
- Observe the KDE UI Capitalization guidelines on Capitalization of User Interface Texts should be observed. Here is a short summary: Two major styles are used, book title and sentence style:
- Example of Book Title Capitalization
- Example of sentence style capitalization
Use book style for:
- Titles (window, dialog, group box, tab, list view columns, and so on)
- Functions (menu items, buttons)
- Selectable items (combobox items, listbox items, tree list items, and so on)
Use sentence style for:
- Tool tips
- Descriptive text