På is a preposition and can mean "at", "on", "in", or other things, depending on the context. Sig is a reflexive pronoun; here it means "themselves", but in other contexts it can mean "himself", "herself", "itself", or "oneself". Att ha på sig literally means "to have on oneself" = to wear. Jag har på mig en jacka = I have on myself a jacket = I am wearing a jacket. Hope that helps some.
In Polish we also use this structure: "mieć na sobie" - (lit. to have on oneself) Though unlike in Swedish the reflexive pronoun "sobie" stays the same throughout all the pronouns, but the verb still conjugates according to it: Jag har på mig en jacka. - Mam na sobie kurtkę. Du har på dig en klänning. - Masz na sobie sukienkę.
What about "The women have on their dresses." That to me seems like a more literal translation.
hon har på sig = she has on (her)self = she is wearing
han har på sig = he has on (him)self = he is wearing
Sven har på sig = Sven has on (him)self = Sven is wearing
du har på dig = you have on yourself = you are wearing
jag har på mig = I have on myself = I am wearing
"sig" is third person; "dig" is second person; "mig" is first person
Note that the mig/dig/sig reflexive pronoun must match the jag/du/hon (har, etc.) subject pronoun or noun.