gettext: Obsolete Entries

1 
1 8.3.8 Obsolete Entries
1 ----------------------
1 
1    By "obsolete" PO file entries, we mean those entries which are
1 commented out, usually by ‘msgmerge’ when it found that the translation
1 is not needed anymore by the package being localized.
1 
1    The usual commands moving from entry to entry consider obsolete
1 entries on the same level as active entries.  Obsolete entries are
1 easily recognizable by the fact that all their lines start with ‘#’,
1 even those lines containing ‘msgid’ or ‘msgstr’.
1 
1    Commands exist for emptying the translation or reinitializing it to
1 the original untranslated string.  Commands interfacing with the kill
1 ring may force some previously saved text into the translation.  The
1 user may interactively edit the translation.  All these commands may
1 apply to obsolete entries, carefully leaving the entry obsolete after
1 the fact.
1 
1    Moreover, some commands are more specifically related to obsolete
1 entry processing.
1 
1 ‘o’
1      Find the next obsolete entry (‘po-next-obsolete-entry’).
1 
1 ‘O’
1      Find the previous obsolete entry (‘po-previous-obsolete-entry’).
1 
1 ‘<DEL>’
1      Make an active entry obsolete, or zap out an obsolete entry
1      (‘po-fade-out-entry’).
1 
1    The commands ‘o’ (‘po-next-obsolete-entry’) and ‘O’
1 (‘po-previous-obsolete-entry’) move forwards or backwards, chasing for
1 an obsolete entry.  If none is found, the search is extended and wraps
1 around in the PO file buffer.
1 
1    PO mode does not provide ways for un-commenting an obsolete entry and
1 making it active, because this would reintroduce an original
1 untranslated string which does not correspond to any marked string in
1 the program sources.  This goes with the philosophy of never introducing
1 useless ‘msgid’ values.
1 
1    However, it is possible to comment out an active entry, so making it
1 obsolete.  GNU ‘gettext’ utilities will later react to the disappearance
1 of a translation by using the untranslated string.  The command ‘<DEL>’
1 (‘po-fade-out-entry’) pushes the current entry a little further towards
1 annihilation.  If the entry is active (it is a translated entry), then
1 it is first made fuzzy.  If it is already fuzzy, then the entry is
1 merely commented out, with confirmation.  If the entry is already
1 obsolete, then it is completely deleted from the PO file.  It is easy to
1 recycle the translation so deleted into some other PO file entry,
1 usually one which is untranslated.  ⇒Modifying Translations.
1 
1    Here is a quite interesting problem to solve for later development of
1 PO mode, for those nights you are not sleepy.  The idea would be that PO
1 mode might become bright enough, one of these days, to make good guesses
1 at retrieving the most probable candidate, among all obsolete entries,
1 for initializing the translation of a newly appeared string.  I think it
1 might be a quite hard problem to do this algorithmically, as we have to
1 develop good and efficient measures of string similarity.  Right now, PO
1 mode completely lets the decision to the translator, when the time comes
1 to find the adequate obsolete translation, it merely tries to provide
1 handy tools for helping her to do so.
1