[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

comments/string changes and issues with dpkg's messages


As I have said in at a previous time, I have started working on adding
comments in the dpkg code, in order to add automatic comments to the
translatable strings.

Unfortunately, I was caught in other issues with some translation
sychronizations, and have halted a little the work. Also, the issues
bellow (see point 3) have slowed me down.

Here are some points I have gathered:

Issues with dpkg:

1) dpkg-1.13.8/dselect/helpmsgs.cc states that it is generated from 
helpmsgs.src by mkhelpmsgs.pl. 
Neither of these two files is present. Where are they?

If the file in question is still generated, I would like to have access to
both of the files to add automatic comments for translators - I must change
the script so it would add the comments extracted from the src file, and the
.src to insert the comments.

2) in some languages forms like "3 installed packages", "1 installed package"
and "6 installed packages" need three different forms for the word
"installed". Thus, the string "unhold: upgrade or leave uninstalled" is
ambiguous (in this case might not be the case - I am not a speaker of such a
language, so I don't know for sure if exactly this situation applies); anyway,
such phrasings sould be avoided. As a note, this string is also hard to
translate in Romanian for phrasing reasons, also. (If you are wondering about
the languages with multpile plural forms, I know for sure this is the case for

3) in some cases the messages are so cryptical that rephrasing them would be a
much better solution than adding automatic comments:

"unable to open tmpfile for vsnprintf" 

  if (!file) {
  file= tmpfile(); if (!file) ohshite(_("unable to open tmpfile for

would become:
  if (!file) {
  //error message displayed during execution of function vsprintf
  //opening temporary file tmpfile (internal variable name) failed
  file= tmpfile(); if (!file) ohshite(_("unable to open tmpfile for


  if (!file) {
    file= tmpfile(); if (!file) ohshite(_("unable to open temporary
file - in function vsnprintf"));

a) change the messages
  -  translations will be fuzzied; many translators will cuss at me
  +  messages will be easier to translate
  +  no more changes will be necessary later
  +  messages will be easy to understand for regular Joes (although they will
     probably won't be able to do anything with the resulted info
b) add only comments
  +  no fuzziness
  +  messages will be easier to translate
  -  the comments are sometimes repetitive; .pot file will be too large
  -? (probably) at some point the comments should be migrated to the messages,
	  so there will be some work there to be done
  -  messages will be as cryptical as before, but some translations might have
	  more verbose messages than the original

c) make a mixture of adding comments and changing the messages
  +  avoids too much fuzziness
  -  cryptic (read "seldom encoutered") messages will only have comments,
	  while the messages might be as cryptic as before, depending on translator
  +  more common messages will be changed and will be better than before
  +  might be the fastest method
  -  is a compromise solution; probably more work will be necessary later

4) the best packaging practices states that the program should not "speak
as a person"; impersonal messages are preffered.

this is what I have found, at a glance:
"...like what you want, and you can `reject' my suggestions by using the 
capital..." - there shouldn't be "my sugestions"
"and you can `reject' the suggestions by using the capital"


"Imagination is more important than knowledge" A.Einstein

Reply to: