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 658742 - Gettext messages require translator comments
Gettext messages require translator comments
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: general
3.2.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2011-09-11 12:37 UTC by Ihar Hrachyshka
Modified: 2018-10-25 16:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Ihar Hrachyshka 2011-09-11 12:37:23 UTC
The following messages are hard to translate properly with no context information:

1. 
#: ../addressbook/libebook/e-contact.c:119
msgid "File Under"
msgstr ""

2.
#: ../addressbook/libebook/e-contact.c:233
msgid "Name or Org"
msgstr ""

#: ../addressbook/libebook/e-contact.c:248
msgid "Name"
msgstr ""

What is 'org'? What is 'name'? (service name or human name?)

3.
#: ../addressbook/libebook/e-contact.c:261
msgid "List"
msgstr ""
 
#: ../addressbook/libebook/e-contact.c:262
msgid "List Show Addresses"
msgstr ""

What is 'list' (verb or noun)? If it's a noun, is it 'list of objects' or 'mailing list' or what? Is show in "show addresses" an adjective or verb or what? etc. etc.

4.
#: ../camel/camel-sasl-anonymous.c:81
#, c-format
msgid ""
"Invalid email address trace information:\n"
"%s"
msgstr ""
 
#: ../camel/camel-sasl-anonymous.c:95
#, c-format
msgid ""
"Invalid opaque trace information:\n"
"%s"
msgstr ""
 
#: ../camel/camel-sasl-anonymous.c:109
#, c-format
msgid ""
"Invalid trace information:\n"
"%s"
msgstr ""

What is "email trace information"?

5.
#: ../libedataserver/e-client.c:130
msgid "Offline unavailable"
msgstr ""

Is 'offline mode' unavailable or 'some service' is unavailable because we're offline?

6.
#: ../libedataserver/e-categories.c:54
msgctxt "CategoryName"
msgid "Holiday"
msgstr ""

Is it a "holiday aka vacation" (several weeks) or "holiday aka public non-work day" (like Labor Day)?
Comment 1 Milan Crha 2011-09-12 08:52:38 UTC
Thanks for a bug report, though I do not see any specific translator comments I would add, apart of those mentioned below, though they do not fit there much, I believe.

(In reply to comment #0)
> The following messages are hard to translate properly with no context
> information:
> 
> 1. 
> #: ../addressbook/libebook/e-contact.c:119
> msgid "File Under"
> msgstr ""

It's called also "File As" in evolution's (and most other) UI. It's the string which describes the contact itself.
 
> 2.
> #: ../addressbook/libebook/e-contact.c:233
> msgid "Name or Org"
> msgstr ""

> What is 'org'? 

It may contain either "name" of the contact or an "organization name" string, base don the information stored inside the EContact. It's used only on CSV import, it seems to me.

> #: ../addressbook/libebook/e-contact.c:248
> msgid "Name"
> msgstr ""
> 
> What is 'name'? (service name or human name?)

It contains contact's name, divided into structure fields. Those you can see when you edit a regular contact in evolution and you click the "Full Name" button in the editor.

> 3.
> #: ../addressbook/libebook/e-contact.c:261
> msgid "List"
> msgstr ""
> 
> #: ../addressbook/libebook/e-contact.c:262
> msgid "List Show Addresses"
> msgstr ""
> 
> What is 'list' (verb or noun)? If it's a noun, is it 'list of objects' or
> 'mailing list' or what? Is show in "show addresses" an adjective or verb or
> what? etc. etc.

Both are boolean properties. The first is a property set on an EContact telling it's a contact list, which means that the contact contains list of email addresses. It's the one created in evolution's Contacts view under New->Contact List. The later is a preference for showing email addresses when sending messages to this list.

> 4.
> #: ../camel/camel-sasl-anonymous.c:81
> #, c-format
> msgid ""
> "Invalid email address trace information:\n"
> "%s"
> msgstr ""
> 
> #: ../camel/camel-sasl-anonymous.c:95
> #, c-format
> msgid ""
> "Invalid opaque trace information:\n"
> "%s"
> msgstr ""
> 
> #: ../camel/camel-sasl-anonymous.c:109
> #, c-format
> msgid ""
> "Invalid trace information:\n"
> "%s"
> msgstr ""
> 
> What is "email trace information"?

I'm not sure with these. The code even doesn't seem to be used. The trace information seems to be the information you pass when logging into a service anonymously. It's sometimes your email address, other times something else.
 
> 5.
> #: ../libedataserver/e-client.c:130
> msgid "Offline unavailable"
> msgstr ""
> 
> Is 'offline mode' unavailable or 'some service' is unavailable because we're
> offline?

It's the former, "Offline mode is not available" for the EClient (and its backend).

> 6.
> #: ../libedataserver/e-categories.c:54
> msgctxt "CategoryName"
> msgid "Holiday"
> msgstr ""
> 
> Is it a "holiday aka vacation" (several weeks) or "holiday aka public non-work
> day" (like Labor Day)?

It's a category name. The category is a "label" with which can user mark his/her contacts or events. It can mean anything, the interpretation is done by the user itself. That's the reason why there is a message context.
Comment 2 Ihar Hrachyshka 2011-09-14 18:47:49 UTC
> 1. 
> #: ../addressbook/libebook/e-contact.c:119
> msgid "File Under"
> msgstr ""

> It's called also "File As" in evolution's (and most other) UI. It's the string
> which describes the contact itself.

What do mean? How does it 'describe' the contact? Is it its name or what? Please be more verbose.

> #: ../addressbook/libebook/e-contact.c:262
> msgid "List Show Addresses"
> msgstr ""
> 

> Both are boolean properties. [...] The later is a preference for showing email
> addresses when sending messages to this list.

Do you mean it's the same as 'Show List Addresses'? Why is this reverted order of words used? It should be fixed, not sure if in 3.2 release but at least in 3.4 for sure then.

> 4.
> #: ../camel/camel-sasl-anonymous.c:81
> #, c-format
> msgid ""
> "Invalid email address trace information:\n"
> "%s"
> msgstr ""
> 
> #: ../camel/camel-sasl-anonymous.c:95
> #, c-format
> msgid ""
> "Invalid opaque trace information:\n"
> "%s"
> msgstr ""
> 
> #: ../camel/camel-sasl-anonymous.c:109
> #, c-format
> msgid ""
> "Invalid trace information:\n"
> "%s"
> msgstr ""
> 
> What is "email trace information"?

> I'm not sure with these. The code even doesn't seem to be used.

If it's not used, it should be removed. At least from translation files. C-comments would be enough I suppose.

> 5.
> #: ../libedataserver/e-client.c:130
> msgid "Offline unavailable"
> msgstr ""
> 
> Is 'offline mode' unavailable or 'some service' is unavailable because we're
> offline?

> It's the former, "Offline mode is not available" for the EClient (and its
> backend).

For now, just add translator comment. But I would suggest to fix it for 3.4 release to: "Offline mode unavailable" instead.

As for my general opinion on these translation issues, I think we should put all these comments in the code and not just in bugzilla so that other translators can see them also when doing their work. Thanks.
Comment 3 Ihar Hrachyshka 2011-09-14 18:50:40 UTC
When replying, you also missed the following one. Please comment:

#: ../addressbook/libebook/e-contact.c:248
msgid "Name"
msgstr ""

What is 'name'? (service name or human name?)
Comment 4 Milan Crha 2011-09-15 06:39:40 UTC
(In reply to comment #3)
> When replying, you also missed the following one. Please comment:
> 
> #: ../addressbook/libebook/e-contact.c:248
> msgid "Name"
> msgstr ""
> 
> What is 'name'? (service name or human name?)

I didn't, I see it above.
Comment 5 Milan Crha 2011-09-15 06:50:23 UTC
(In reply to comment #2)
> > It's called also "File As" in evolution's (and most other) UI. It's the string
> > which describes the contact itself.
> 
> What do mean? How does it 'describe' the contact? Is it its name or what?
> Please be more verbose.

I do not know, how to describe it better, run evolution and see it in the editor, and how it's used in the preview panel.

> > #: ../addressbook/libebook/e-contact.c:262
> > msgid "List Show Addresses"
> > msgstr ""
> > 
> 
> > Both are boolean properties. [...] The later is a preference for showing email
> > addresses when sending messages to this list.
> 
> Do you mean it's the same as 'Show List Addresses'? Why is this reverted order
> of words used? It should be fixed, not sure if in 3.2 release but at least in
> 3.4 for sure then.

I'm not sure whether it's the same thing, neither why the order is as it is. The only thing I can think of is that the work order makes sure that 'List' options will be shown together when they will sorter alphabetically in the UI based on this name. But it's just an idea, and can be totally wrong. The corresponding Evolution's UI string for this property inside the editor is "Hide addresses when sending mail to this list".

> ...
> As for my general opinion on these translation issues, I think we should put
> all these comments in the code and not just in bugzilla so that other
> translators can see them also when doing their work. Thanks.

yes, I agree with other changes, remove strings from translation and rewording the "offline unavailable" makes sense. Let's do it for 3.4.
Comment 6 Ihar Hrachyshka 2011-09-15 07:39:23 UTC
Ok, I see, so 'Name' string also corresponds to 'contact name' as in 'Name or Org'.

For 'List Show Addresses', you shouldn't force (G)UI to show these two entries together by using same start of the name. This is because lots of translations won't use the same wording/sorting hence if (G)UI really requires such order then it will be broken for user of localized version of software.
If even you as a developer are not sure about the meaning of the string, then translators just can't translate it properly. In this case, we really need your comments: bad translation is even worse than no translation at all.

You can actually put comments and remove unneeded code without breaking string freeze requirements. So I propose to do it in 3.2 without changing the wording, and completely fix string wording in 3.4 where appropriate.
Comment 7 Ihar Hrachyshka 2012-02-25 19:47:38 UTC
Most of issues mentioned here are not fixed yet.
Comment 8 Milan Crha 2012-02-27 10:05:31 UTC
You've right. I lost track on this bug report, I'm sorry. I tried to explain strings here first, and then decide from it what to write in translators comment. I'm still not sure about the texts, though for example the "Holiday" category doesn't want a comment, does it?
Comment 9 Ihar Hrachyshka 2012-02-27 10:11:29 UTC
'Holiday' is really not the main problem with translation, it may be left as-is for now. Other issues still exist though. F.e. we still have 'File Under' and 'Name or Org' and other issues. These should not be fixed with translator comment but with changing the whole wording I think.
Comment 10 Milan Crha 2012-02-28 08:44:10 UTC
I could add them into a context, like ContactField, if it'll help, though I do not prefer to do so. Changing their values doesn't seem as much help to me too. It's just what it is, user-readable name of a field in EContact. The [1] is for "Name". The "Name or Org", same as "File Under", "List" and "List show addresses", are evolution specific fields, and the "Name or Org" is just a virtual field, which returns first of "File Under", "Full Name", "Organization", and for lists the first email in it, or an "Unnamed list". Those in e-contact.c from comment #0 are semi-technical names. I really do not see a problem with them, but I'm not a translator. I hoped I'll just explain to you, and we are done, because nobody else had an issue with it.

[1] http://tools.ietf.org/html/rfc6350#section-6.2.2
Comment 11 Ihar Hrachyshka 2012-02-28 08:47:21 UTC
If nobody before created a bug for this, it doesn't mean it's not a common problem. Translators mostly do what they can and leave their users with ambiguous messages, same as in English...

You should explain not in bugzilla but in gettext file, so that all translators see it.
Comment 12 Ihar Hrachyshka 2012-02-28 08:48:57 UTC
It doesn't really matter if it's a EContact field or what. It matters what it *means* for the user. These fields mean something, *that* is what you should explain in comments.

If they doesn't mean anything clear, why should we show them to user at all?
Comment 13 Ihar Hrachyshka 2012-02-28 09:44:02 UTC
I propose to add references to RFC sections for EContact fields in comments, if that's what they strictly mean.
Comment 14 Milan Crha 2012-03-01 09:46:34 UTC
From those 5 you mentioned in comment #0 only the Name is a standard field, the rest is evolution specific field. A I do not want to commit anything for this bug multiple times, then let's settle on good string here, then I will add them to sources. I would use this:

> #: ../addressbook/libebook/e-contact.c:119
> msgid "File Under"
/* Translators: This is an EContact field description, in this case it's a preferred user's description (or display name) of the contact */

> #: ../addressbook/libebook/e-contact.c:233
> msgid "Name or Org"
/* Translators: This is an EContact field description, in this case it's a virtual field, which returns either name of the contact or the organization name, recognized by multiple other fields, where the first filled is used.  */

> #: ../addressbook/libebook/e-contact.c:248
> msgid "Name"
/* Translators: This is an EContact field description, in this case it's a name of the contact, as specified in http://tools.ietf.org/html/rfc6350#section-6.2.2 */

> #: ../addressbook/libebook/e-contact.c:261
> msgid "List"
/* Translators: This is an EContact field description, in this case it's a field describing whether it's a Contact list (list of email addresses) or a regular contact for one person/organization/... */

> #: ../addressbook/libebook/e-contact.c:262
> msgid "List Show Addresses"
/* Translators: This is an EContact field description, in this case it's a flag used to determine whether when sending to Contact lists the addresses should be shown or not to other recipients - basically whether to use BCC field or CC message header when sending messages to this Contact list. */

> #: ../libedataserver/e-client.c:130
> msgid "Offline unavailable"
/* Translators: This means that the EClient does not support offline mode, or it's not set to by a user, thus it is unavailable while user is not connected. */

Those from camel/camel-sasl-anonymous.c: It's just a description of the SASL authentication type, which can be one of them. I'm not sure what to write there.

What do you think?
Comment 15 Ihar Hrachyshka 2012-03-01 10:33:47 UTC
Generally fine. Just some comments.

> #: ../addressbook/libebook/e-contact.c:119
> msgid "File Under"
/* Translators: This is an EContact field description, in this case it's a
preferred user's description (or display name) of the contact */

I would also add then that 'file' is a verb here (?).

> #: ../addressbook/libebook/e-contact.c:262
> msgid "List Show Addresses"
/* Translators: This is an EContact field description, in this case it's a flag
used to determine whether when sending to Contact lists the addresses should be
shown or not to other recipients - basically whether to use BCC field or CC
message header when sending messages to this Contact list. */

The description is good. But I think it would be good to change English message wording. Something like 'Show Addresses List' so that the order of English words would be more correct (though I'm not a native English speaker so I may be wrong; it's just that this message seems wrong to me).


As for SASL error messages, I'm not sure what 'email trace information' is so I can't give you a clue. Possibly, we should find someone with better background in SASL (authors of the file in question?) and ask what this means.
Comment 16 Milan Crha 2012-03-02 08:27:58 UTC
(In reply to comment #15)
> Generally fine. Just some comments.
> 
> > #: ../addressbook/libebook/e-contact.c:119
> > msgid "File Under"
> /* Translators: This is an EContact field description, in this case it's a
> preferred user's description (or display name) of the contact */
> 
> I would also add then that 'file' is a verb here (?).

Sure thing.

> > #: ../addressbook/libebook/e-contact.c:262
> > msgid "List Show Addresses"

> ... But I think it would be good to change English message wording...

I see, the correct wording would be "List Shows Addresses". I'll change it this way.

> As for SASL error messages, I'm not sure what 'email trace information' is so I
> can't give you a clue. Possibly, we should find someone with better background
> in SASL (authors of the file in question?) and ask what this means.

I agree, I have no idea what it means too.
Comment 17 Milan Crha 2012-03-02 08:56:19 UTC
Created commit 29b77ae in eds master (3.3.91+)

(In reply to comment #16)
> I see, the correct wording would be "List Shows Addresses". I'll change it this
> way.

I forgot we are under string freeze already, thus I'll try to not forget of this for 3.5.x development. Apart of this only the messages from SASL-anonymous are missing their translators comment.
Comment 18 Ihar Hrachyshka 2012-03-02 09:08:00 UTC
FYI:
You still have an option to break string freeze after getting approval from gnome-i18n@. String freeze just started, so there should be no problem getting the approval.
Comment 19 Milan Crha 2012-03-26 14:16:26 UTC
I know I could ask a freeze break, but I didn't want to.
The change to "List Shows Addresses" is committed in eds master d1f34d4 (3.5.1+)

What do you suggest to do with the sasl-anonymous part? I checked the code and it seems that the strings are used when checking whether provided information beside "Anonymous" user name is of the expected type. The "trace information" as it is called, is used usually as a password.
Comment 20 Anup 2014-03-20 22:15:13 UTC
(In reply to comment #0)
> The following messages are hard to translate properly with no context
> information:

As far as I see, when comparing to the latest evolution.master.pot[1] I am not able to see any folder regarding "../addressbook/libebook" any where. 

So, I think this can be marked as obsolete. 

If I am wrong, please correct me.
Comment 21 Anup 2014-03-20 22:16:48 UTC
forgot to give the link: 

[1] https://l10n.gnome.org/POT/evolution.master/evolution.master.pot
Comment 22 André Klapper 2014-03-20 22:36:31 UTC
(In reply to comment #20)
> As far as I see, when comparing to the latest evolution.master.pot[1] I am not
> able to see any folder regarding "../addressbook/libebook" any where. 

That doesn't matter. The bug report is not about code locations or names of source code files, but about user visible strings. They should be checked.
Comment 23 Milan Crha 2014-03-21 06:57:19 UTC
(In reply to comment #20)
> As far as I see, when comparing to the latest evolution.master.pot[1] I am not
> ...

Makes sense. This is filled against evolution-data-server, not against evolution. Nonetheless, as Andre said, this is not about actual place in the code, this is about adding comments for translators to certain strings to clarify the string usage to them, without forcing them to run evolution and chase for the usage of those strings in UI.
Comment 24 Milan Crha 2018-10-25 16:23:06 UTC
I made the final changes into camel-sasl-anonymous.c
in commit 4839df3a7 (3.31.2+).

Feel free to suggest better texts. I also replaced the third string there, because it's basically a coder's error, not user's, thus the error message itself had been misleading.