Column design and UDT recommendations for a specific problem

My first preference us to use clustering keys, not collections.

e.g.

CREATE TABLE books (
    id uuid,
    attribute_language text,
    title text,
    synopsis text,
    artist set<text>,
    tag set<text>,
    PRIMARY KEY (id, attribute_language)
);

This places just once instance of attribute_language per (book, language) pair, rather then once per (book, language, attribute) triplet. It also allows selecting just one language, but that may not be in your requirements.

Also: prefer set<> to list<>. Use frozen<> where you can, but be aware it’s less suitable for updating.