|
From: Hans U. N. <gp...@n-...> - 2007-05-26 22:30:13
|
I'd like to express some doubts regarding this commit.
> Modified Files:
> mnote-pentax-entry.c
> Log Message:
> Unified handling of unknown tag values, some messages were not translated
>
>
> Index: mnote-pentax-entry.c
> ===================================================================
> RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-entry.c,v
> retrieving revision 1.11
> retrieving revision 1.12
> diff -u -p -d -r1.11 -r1.12
> --- mnote-pentax-entry.c 13 May 2007 19:21:47 -0000 1.11
> +++ mnote-pentax-entry.c 24 May 2007 06:47:14 -0000 1.12
> @@ -341,7 +341,7 @@ mnote_pentax_entry_get_value (MnotePenta
> /* search the tag */
> for (i = 0; (items[i].tag && items[i].tag != entry->tag); i++);
> if (!items[i].tag) {
> - strncpy (val, "Internal error", maxlen);
> + strncpy (val, _("Internal error"), maxlen);
> break;
> }
OK... so we have one of the worst error messages ever (because it does
not give ANY hint as to what may have been the cause), and one which
definitely needs developer attention to fix if a user sees it.
Does it make the user experience better if that kind of message is
translated? The language for discussions with the developers is mainly
English, and we don't have translators for bug fixing discussions :)
> @@ -350,7 +350,7 @@ mnote_pentax_entry_get_value (MnotePenta
> (items[i].elem[j].index < vs); j++);
> if (items[i].elem[j].index != vs) {
> snprintf (val, maxlen,
> - "Internal error (unknown value %i)", vs);
> + _("Internal error (unknown value %i)"), vs);
> break;
> }
> strncpy (val, items[i].elem[j].string, maxlen);
OK, that is a little better. At least some hint.
|
|
From: Jan P. <pa...@pi...> - 2007-06-25 08:10:22
|
Hans,
I am sorry for replaying that late. Actually what I did, was just
a unification. I did not attempt to improve the messages as such,
although I should have.
All the texts I touched do get displayed to the user, they are
not (hidden) log or debug messages. Some of them were terminated
with dot (like a complete sentence) and some were not. Some
were translated and some were not. After my changes, all should be
translated and not terminated, to be consistent with all the other texts
returned by mnote_*_entry_get_value().
Yes, I think it gets better user experience. The users may also help us
in registering new not-yet-known values of new cameras, if they clearly
understand the situation. Not every user of SW using libexif speaks
English. For example, many users of the Czech software I participate
on don't speak English, but we do have good bug-reporting system
from our users towards us. Actually this product and feedback from it
is the reason why I joined the libexif team and why I do so many changes...
-- Jan
>> --- mnote-pentax-entry.c 13 May 2007 19:21:47 -0000 1.11
>> +++ mnote-pentax-entry.c 24 May 2007 06:47:14 -0000 1.12
>> @@ -341,7 +341,7 @@ mnote_pentax_entry_get_value (MnotePenta
>> /* search the tag */
>> for (i = 0; (items[i].tag && items[i].tag != entry->tag); i++); if
>> (!items[i].tag) {
>> - strncpy (val, "Internal error", maxlen);
>> + strncpy (val, _("Internal error"), maxlen);
>> break;
>> }
>
> OK... so we have one of the worst error messages ever (because it does
> not give ANY hint as to what may have been the cause), and one which
> definitely needs developer attention to fix if a user sees it.
>
> Does it make the user experience better if that kind of message is
> translated? The language for discussions with the developers is mainly
> English, and we don't have translators for bug fixing discussions :)
>> @@ -350,7 +350,7 @@ mnote_pentax_entry_get_value (MnotePenta
>> (items[i].elem[j].index < vs); j++);
>> if (items[i].elem[j].index != vs) {
>> snprintf (val, maxlen,
>> - "Internal error (unknown value %i)", vs);
>> + _("Internal error (unknown value %i)"), vs);
>> break;
>> }
>> strncpy (val, items[i].elem[j].string, maxlen);
>
> OK, that is a little better. At least some hint.
|
|
From: Hans U. N. <gp...@n-...> - 2007-06-25 14:35:17
|
Jan Patera wrote:
> I am sorry for replying that late. Actually what I did, was just
> a unification. I did not attempt to improve the messages as such,
> although I should have.
Hmm. What constitutes improvement?
Two kinds of improvement I could think of:
a) Use a verbal phrase which is more or less unique and describing
what went wrong. Possibly helpful to user for circumventing the
problem, requires translating many technically complicated
sentences which might not make sense to non-developer translators.
b) _("Internal error %s"), "LE0051". That is also unique, does not
require much phantasy while writing, only needs translating one
specific string, and allows anyone with the source code to find
out where the thing broke. The only question is how to allocate
unique strings like "LE0051".
Any more ideas?
> All the texts I touched do get displayed to the user, they are
> not (hidden) log or debug messages. Some of them were terminated
> with dot (like a complete sentence) and some were not. Some
> were translated and some were not. After my changes, all should be
> translated and not terminated, to be consistent with all the other texts
> returned by mnote_*_entry_get_value().
OK, consistency is good.
> Yes, I think it gets better user experience. The users may also help us
> in registering new not-yet-known values of new cameras, if they clearly
> understand the situation. Not every user of SW using libexif speaks
> English. For example, many users of the Czech software I participate
> on don't speak English, but we do have good bug-reporting system
> from our users towards us. Actually this product and feedback from it
> is the reason why I joined the libexif team and why I do so many changes...
Oh. I was not aware of those non-English channels for user feedback...
probably due to my not speaking any Czech at all :)
Anyway, I am grateful for anything that works, so +1 on translating the
stuff.
Uli
|