|
|
(One intermediate revision by the same user not shown) |
Line 28: |
Line 28: |
| == User Interface Text Conventions == | | == 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. | | The rules are explained in the [https://doc-snapshots.qt.io/qtcreator-extending-master/qtcreator-ui-text.html Qt Creator User Interface Text Guidelines]. |
|
| |
|
| === Coding ===
| | 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
| |
| <pre>
| |
| //: Contact book "Add person" button label
| |
| return tr("Add");
| |
| </pre>
| |
| * If the class is not a <code>Q_OBJECT</code>, use
| |
| <pre>
| |
| QCoreApplication::translate("class context", "text").
| |
| </pre>
| |
| * Do '''NOT''' use <code>QObject::tr()</code> as this is confusing since the messages appear grouped by class context in linguist.
| |
| * Avoid contractions, do not shout at users using exclamation marks: <code>tr("Can't open the file!")</code> should be <code>tr("Cannot open the file.")</code>.
| |
| * Use plurals correctly: <code>tr("%1 files found").arg(number)</code> should be <code>tr("%n files found", 0, number)</code>.
| |
| * 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
| |
| <pre>
| |
| tr("%1 failed").arg(someCondition ? "the operation" : "opening a file").
| |
| </pre>
| |
| * 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,
| |
| <pre>
| |
| tr("Foo failed: ") + message
| |
| </pre>
| |
| should be
| |
| <pre>
| |
| tr("Foo failed: %1").arg(message)
| |
| </pre>
| |
| * 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:
| |
| <pre>
| |
| [html>[head/>[body>[b>Note:[/b>bla….
| |
| </pre>.
| |
| | |
| 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 [http://developer.kde.org/documentation/standards/kde/style/basics/labels.html#items 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:
| |
| ** Labels
| |
| ** Tool tips
| |
| ** Descriptive text
| |
Contributed Translations
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:-)
Thank you!
en
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.
de
The German translation is maintained as part of Qt Creator itself. Please check the Qt Creator Page for contact information
jp
Japanese translation seems to be hosted here
See the blog post.
other languages
Active Russian, Chinese and Slovenian translation teams exist as well. TODO: elaborate on this.
User Interface Text Conventions
The rules are explained in the Qt Creator User Interface Text Guidelines.
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.