Suppose we have:
libA.dll -> libB.dll -> libC.dll
Here, libA links with libB, and libB links with libC, but libA does not link with libC directly. So, libC is a “private” dependency of libB. If we collect strings to translate using:
i18n.xgettext(libC) i18n.xgettext(libB) pot_file = i18n.xgettext(libA, recursive: true)
Previously, strings from libC would not be included in pot_file, since libC is not a direct link dependency of libA. This has been fixed: when the recursive: true option is used, xgettext now recursively includes translations from all dependencies, including those of dependencies. This is more logical, as even if libA does not directly link with libC, it may still need translated strings from libC.