Why did msgmerge mark some of my translations as fuzzy?

I am using msgmerge to merge my existing file po

with an updated file pot

eg.

msgmerge test-zh_TW.po test.pot  > test.po

      

I found that after msgmerge some of the fields are marked as fuzzy

, why is this?

(I want to know the reason, I know I can turn them off with -N, but why is that the default in the first place?)

+3


source to share


1 answer


Specifying documentation for a guide

Fuzzy entries, even though they account for translated entries for most other purposes, usually require revision by a translator. They can be obtained by using msgmerge to update old translated PO files to match the new PO template file, when the tool assumes that some new version of the resource has been modified only slightly from the old one, and selects a pair that it thinks to be an old translation for new modified record. A small change to the original string (msgid string) often needs to be reflected in a newline, and this requires the intervention of a translator. For this reason, msgmerge may mark some records as fuzzy.

In short, this is because msgmerge's fuzzy match algorithm finds some of the new messages close enough to the old ones to match the old translation, but he notes that it is fuzzy so ask the translator to revise the translation because it is only fuzzy or a partial match.

The reason this is the default behavior is because the msgmerge.c implementation has the following lines.



/* Determines whether to use fuzzy matching.  */
static bool use_fuzzy_matching = true;

      

Links

+5


source







All Articles