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