gettext: Fuzzy Entries

 
 8.3.6 Fuzzy Entries
 -------------------
 
    Each PO file entry may have a set of “attributes”, which are
 qualities given a name and explicitly associated with the translation,
 using a special system comment.  One of these attributes has the name
 ‘fuzzy’, and entries having this attribute are said to have a fuzzy
 translation.  They are called fuzzy entries, for short.
 
    Fuzzy entries, even if they account for translated entries for most
 other purposes, usually call for revision by the translator.  Those may
 be produced by applying the program ‘msgmerge’ to update an older
 translated PO files according to a new PO template file, when this tool
 hypothesises that some new ‘msgid’ has been modified only slightly out
 of an older one, and chooses to pair what it thinks to be the old
 translation for the new modified entry.  The slight alteration in the
 original string (the ‘msgid’ string) should often be reflected in the
 translated string, and this requires the intervention of the translator.
 For this reason, ‘msgmerge’ might mark some entries as being fuzzy.
 
    Also, the translator may decide herself to mark an entry as fuzzy for
 her own convenience, when she wants to remember that the entry has to be
 later revisited.  So, some commands are more specifically related to
 fuzzy entry processing.
 
 ‘f’
      Find the next fuzzy entry (‘po-next-fuzzy-entry’).
 
 ‘F’
      Find the previous fuzzy entry (‘po-previous-fuzzy-entry’).
 
 ‘<TAB>’
      Remove the fuzzy attribute of the current entry (‘po-unfuzzy’).
 
    The commands ‘f’ (‘po-next-fuzzy-entry’) and ‘F’
 (‘po-previous-fuzzy-entry’) move forwards or backwards, chasing for a
 fuzzy entry.  If none is found, the search is extended and wraps around
 in the PO file buffer.
 
    The command ‘<TAB>’ (‘po-unfuzzy’) removes the fuzzy attribute
 associated with an entry, usually leaving it translated.  Further, if
 the variable ‘po-auto-select-on-unfuzzy’ has not the ‘nil’ value, the
 ‘<TAB>’ command will automatically chase for another interesting entry
 to work on.  The initial value of ‘po-auto-select-on-unfuzzy’ is ‘nil’.
 
    The initial value of ‘po-auto-fuzzy-on-edit’ is ‘nil’.  However, if
 the variable ‘po-auto-fuzzy-on-edit’ is set to ‘t’, any entry edited
 through the ‘<RET>’ command is marked fuzzy, as a way to ensure some
 kind of double check, later.  In this case, the usual paradigm is that
 an entry becomes fuzzy (if not already) whenever the translator modifies
 it.  If she is satisfied with the translation, she then uses ‘<TAB>’ to
 pick another entry to work on, clearing the fuzzy attribute on the same
 blow.  If she is not satisfied yet, she merely uses ‘<SPC>’ to chase
 another entry, leaving the entry fuzzy.
 
    The translator may also use the ‘<DEL>’ command (‘po-fade-out-entry’)
 over any translated entry to mark it as being fuzzy, when she wants to
 easily leave a trace she wants to later return working at this entry.
 
    Also, when time comes to quit working on a PO file buffer with the
 ‘q’ command, the translator is asked for confirmation, if fuzzy string
 still exists.