The English bruise is related to words for "crush, injure, cut, smash." The usage for blemished fruits is first attested in the 14th century.
In Ancient Greek, several words related to the core sense of "crush" are also given the definition "bruise:" θλάω, τρίβω. There is also the rare-appearing word μώλωψ, "mark of a stripe, weal, bruise" which generates a denominal verb.
In the Austronesian family color terms seem to be a popular source domain, as in the color root, -*dem, which generates a term in one daughter language, and the root *alem, also related to color, does in another. Also *baŋbaŋ₈, which generated terms related to a range of skin discolorations. There are other source domains, however, such as baneR, which in addition to "bruise, weal" also generates a specific term for blemishes on fruit.
In Mbula, -berebere across dialects means "be bruised and swollen, itch and burn, have blisters."
Mandarin has a large collection of terms glossed "bruise," most of which seem to be polysemous with more generic injury terms, "wound, abscess, bump," or the aftermath, "scar." The term 烏青 wū qīng refers to the color ("dark/black" + "grue/grey"), and can be used alone as a color term.
Somba-Siawari's yöhöza covers all of "bite, sting, rub, hurt, bruise, weigh down."
In Malayalam the terms are all polysemous with other injury terms, of which ആഘാതം āghātaṁ is most flush with meaning: "stab, stroke, beat, trauma, blow, waft, bruise, bump, impact, poke, push, shock."
Other dictionaries consulted: Maori, Turkish, Angave, Swahili, Arabic, Wolof, Korean, Armenian, Malay.
Summary: the cause of bruising ("hit, crush, pound, press," occasionally "abrade" or "dent") is a common source domain. In some families, the word is polysemous with other kinds of injuries, "weal" and swelling, in particular. Color terms are an occasional source. It's hard to tell history from some dictionaries, but there may occasionally be root terms for a polysemous injury word that includes "bruise." Finally, languages that are robustly reduplicating seem happy to use it in "bruise" terms (but this might be due to the stative sense rather than specific semantics).