You wrote: “But this leads to a duplication of media that seems very heavy.”
Well, it depends on where you look. It will create 3 additional rows per image in the database, not more. You don’t have to upload the photos a second time. You duplicate the information about the image to be able to translate it, but not the image itself.
The question is: Do you need translated image properties (title, caption, description, alt) or not. If you uncheck the option, all your images will always be presented in the default language.
If you need translated image properties, then check ‘Media Translation’, goto the Media Library and create the translation for the images, like you would for any other post or page of your site.
For things to work, you may then need to check synchronization of custom fields as well. Or not.
I know that this is all confusing. I have been there. The problem lies in how WordPress handles media information. It’s not really a Polylang thing, you have exactly the same problems in WPML.
If you need translation on media, you could create the translations manually, or program a little helper to at least create dummy translations that you correct over time, one after the other. This is what I did for my image gallery. As a result, I had one gallery in several languages. Adding a photo to the gallery is automatically propagated to all languages.
I could give you my code, but the way WordPress works, this won’t be a copy-paste solution. Sorry for the bad news, don’t shoot the messenger.