After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 96836 - Don't include markup in messages marked for translation
Don't include markup in messages marked for translation
Status: RESOLVED FIXED
Product: mergeant
Classification: Deprecated
Component: General
unspecified
Other All
: Normal normal
: GNOME-DB-0.9beta1
Assigned To: malerba
gnome-db Maintainers
Depends on:
Blocks:
 
 
Reported: 2002-10-25 22:18 UTC by Christian Rose
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Rose 2002-10-25 22:18:03 UTC
#: src/conf-manager.c:316
msgid ""
"<span style=\"italic\" size=\"larger\">Configure and open the connection to "
"begin your work.</span>"

#: src/interface_cb.c:107
msgid ""
"<span weight=\"bold\" size=\"larger\">Password requested</span>\n"
"\n"
"Enter password to open the connection,\n"
"or leave it empty if no password is required.\n"
"\n"

#: src/interface_cb.c:171
msgid ""
"<span weight=\"bold\" size=\"larger\">Save changes before disconnecting?</"
"span>\n"
"\n"
"Some data have not yet been saved and will be lost\n"
"if not saved before closing the connection."

#: src/interface_cb.c:185
msgid ""
"<span weight=\"bold\" size=\"larger\">Do you really want to disconnect?</"
"span>"

#: src/interface_cb.c:1652
msgid ""
"<span weight=\"bold\" size=\"larger\">Do you want to save before quitting?</"
"span>\n"
"\n"
"Some data have not yet been saved and will be lost\n"
"if not saved before quitting."

#: src/interface_cb.c:1665
msgid ""
"<span weight=\"bold\" size=\"larger\">Do you really want to quit?</span>"

#: src/interface_cb.c:1895
msgid ""
"<span weight=\"bold\" size=\"larger\">Synchronize with the database "
"structure?</span>\n"
"\n"
"To update the list of data types, tables, functions, sequences, ...\n"
"from the server (recommanded if the structure of the DB has been modified).\n"
"Say Yes if unsure."

#: src/server-access.c:590
#, c-format
msgid ""
"<span weight=\"bold\" size=\"larger\">Run this query?</span>\n"
"\n"
"%s"


Including markup in messages marked for translation is very bad for
translation. Here's the rationale:
------
This is one case of "don't mark things for translation that shouldn't be
translated". There cases where markup occurs in messages can be divided
into two types. The first type is messages similar to this example:

   msgid "This text is <b>bold</b>."
   

In this case, the markup contains important positional information. Only
the text "bold" should be bold, and a translation needs to take that into
account, so the markup actually carrys important information to the
translator here. This use of markup is important and a necessity.

The other case where markup is used is where the entire message or entire
paragraphs or headings are surrounded with markup, like in these examples:

   msgid "<b>Home Page Preferences</b>"
   

   msgid "<span size=\"medium\"><b>No file</b></span>"
   

   msgid ""
   "<span weight=\"bold\" size=\"larger\">What do you want to do with this "
   "file?\n"
   "</span>\n"
   "It's not possible to view this file type directly in the browser:"
   

In this type of messages, the markup contains no relevant information to
the translator, since all the translatable content is embedded in the
markup (in the last example above, the message could just as well have been
split into two seperate messages, so this still applies). Instead, these
messages are just a nuisance and create lots of extra and totally
unnecessary work for the translators. Whenever the markup for a message
should change the slightest, all translations will have to be updated, even
though no translatable content changed. Whenever a new message is added
that has surrounding markup, even if the exact same message without this
exact markup was translated before, the message will have to be
"translated" again. Usually all this adds up, and it's not uncommon to have
a situation like with all these examples occurring in the same po file:

   msgid "<b>Home Page Preferences</b>"
   

   msgid "<i>Home Page Preferences</i>"
   

   msgid "<span size=\"larger"><b>Home Page Preferences</b></span>"
   

In short, every possible combination of the same actual message but with
different and irrelevant markup surrounding it will have to be "translated"
seperately, instead of just one "Home Page Preferences" message. It's not
just a nuisance and a lot of unnecessary work that's slowing the
translation process. Sometimes the surrounding markup adds much more text
than the actual message, and that confuses gettext's fuzzy-matching so that
it considers the message an entirely new message and doesn't fyzzy-mark it
with a previous similar translation, or that it fuzzy-matches on the markup
instead of on the actual message. This can cause consistency problems in
the translation, where the same terminology won't be used since
fuzzy-matching didn't work properly. Fuzzy-matching is an important
time-saver and important for consistent use of terminology across
translations, and when it doesn't work properly, it affects consistency in
a negative way.

The solution to these problems is to try to seperate markup from gettext
calls, so that the markup isn't passed through _(). This doesn't apply to
the first case of messages mentioned above, but certainly for the second
type of messages. In the case of the examples above, they should be
rewritten so that they appear in the po file like this:

   msgid "Home Page Preferences"
   

   msgid "No file"
   

   msgid "What do you want to do with this file?"
   

   msgid "It's not possible to view this file type directly in the browser:"
------
Comment 1 Rodrigo Moya 2002-10-26 11:15:07 UTC
Fixed in CVS