Gibt es da eine Regel oder ist das vielleicht regional verschieden?
Nein, soweit ich weiss, gibt es keine „Regel“ dafür. Regionale Unterschiede gibt es mit Sicherheit aber…
traje bedeutet Anzug/Kostüm und vestido bedeutet Kleid.
Wenn man sich daran hält, ist die Fehlerquote sicher sehr „gering“ 😉
Ein „vestido“ wird meistens für ein Frauenkleid gebraucht. Es handelt sich aber allgemein um Bekleidung bzw. Bekleidungsteile. Man benutzt auch das konjugierte Verb (vestir bzw. vestirse) , wenn man auf die gesamte Erscheinung hinweisen will: va muy bien vestido.
Ein traje bezieht sich auf die „gesamte Bekleidung“ eines Menschen : Hose,Hemd, Jacke, u.U Schuhe etc. Traje wird z.B für Landestypische Bekleidung gebraucht (Tracht) bzw. für Berufsbekleidungen oder für bestimmte „Ereignisse“ : traje de torero, traje de ceremonia (Uniform), traje de noche, traje de etiqueta.
Das Wort wird auch im Sinne von „Anzug“ bzw. Kostüm gebraucht.
Salu2
cuya
PS: Das Wort ropa wird allgemein für Kleidung benutzt: voy a comprarme ropa nueva, tengo que planchar/lavar mi ropa.