This page is a short summary that tries to show how translators see the translatable messages. This is because it might not be obvious that the template files don't contain all the context information a developer sees in the source code. The information that translators see about a given message also depends on where the message comes from.
For more information one can always look at the template (pot) files. (TODO: Write where they can be found.)
(The idea is that I'll move this page to somewhere once it's at least somewhat useful.)
For these messages translators will only see the following:
If the message appears in many places, the context information from all the places is shown.
For example this message:
QString msg = i18nc("%1 and %2 are file names", "Do you want to replace %1 with %2?", oldFile, newFile)
Appears like this:
#: example.cpp:57 #, kde-format msgctxt "%1 and %2 are file names" msgid "Do you want to replace file %1 with file %2?" msgstr ""
(Perhaps have a screenshot of Lokalize here?)
For these messages translators will see everything that they see for messages coming from i18n() and friends. They will additionally see the following:
#. i18n: ectx: property (displayFormat), widget (QDateEdit, dateEdit) #: mainwindowview.ui:137 msgid "d/M/yyyy" msgstr "" #. i18n: ectx: property (toolTip), widget (KComboBox, maintypeBox) #. i18n: ectx: property (whatsThis), widget (KComboBox, maintypeBox) #: mainwindowview.ui:154 mainwindowview.ui:157 msgid "The main game of the theme" msgstr "" #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #: conf/dlgeditorbase.ui:19 conf/preferencesdialog.cpp:56 msgid "Editor" msgstr ""
(Perhaps have some screenshots of Lokalize here?)
For example from "property (displayFormat), widget (QDateEdit, dateEdit)" it could be inferred that the translatin should use the specific format that QDate's toString() accepts. Some translators cannot infer this, though, so it is good to additionally use "(qtdt-format)" as context as said on page Development/Tutorials/Localization/i18n.
All the things mentioned in the first section also apply here. Additionally the following context information is automatically added:
#. i18n: ectx: label, entry (UseGL), group (View) #: kstars.cpp:176 kstars.kcfg:726 kstarsinit.cpp:238 skymap.cpp:1150 #: skymap.cpp:1158 skymap.cpp:1166 msgid "Switch to OpenGL backend" msgstr ""