Symfony version(s) affected
≥ 5.3
Description
ProviderInterface::read doesn’t give any indication on how providers should react when passed no domains.
The translation:pull command reads pulls translations from the given provider so I’d expect the read method to return every translated message, but
CrowdinProvider:read iterates on domains, so it will return an empty translator bag
LocoProvider:read will return every translated message, but in a single * domain, which means running translation:pull will create files like *.en.xlf
I didn’t check the other providers but the fact those two have a completely different behavior makes me wonder how they are used.
In any case ProviderInterface::read should document how implementations must behave when passed no domains, and implementations should be updated if required.
Symfony version(s) affected
≥ 5.3
Description
ProviderInterface::readdoesn’t give any indication on how providers should react when passed no domains.The
translation:pullcommand readspulls translations from the given providerso I’d expect thereadmethod to return every translated message, butCrowdinProvider:readiterates on domains, so it will return an empty translator bagLocoProvider:readwill return every translated message, but in a single*domain, which means runningtranslation:pullwill create files like*.en.xlfI didn’t check the other providers but the fact those two have a completely different behavior makes me wonder how they are used.
In any case
ProviderInterface::readshould document how implementations must behave when passed no domains, and implementations should be updated if required.