It may appear confusing. Swansea & Quincy both seem like they would end with the sound of the word: "see" - despite their different spellings. They do not.
Now, Scituate is rarely pronounced correctly by non-natives. That's understandable. It's an old Native American word from the Wampanoag tribe meaning "cold brook." Who knew?
Barnstable is one that often throws people for a loop because, though it may seem an odd name for a town, most look at the name and assume the pronunciation is obvious. It is not.
We have many towns in Massachusetts that end with "ham." Rarely, do they sound as they look. But, don't assume they all sound different than their spellings. For instance, we've a town called Framingham. The end actually sounds just as it appears. Surprise! It's the start of the name that people often say incorrectly. It is a hard "a" at the beginning. It sounds like frame-ing-ham - not fram-ing-ham as I've heard it spoken by tourists.
In Scituate, we have a silent "c" at the start and an invisible "ch" in the middle. For Attleboro, we ignore the "l" and added an invisible "a." Yes, I know it can be confusing. I get it, I really do.
Worcester is the second largest city in New England. Only Boston tops it. Yet, It is almost never spoken correctly. It's even hard to write out the pronunciation! But, the visual is as close to accurate as you can get.
These are two easy ones. The general rule, though in Massachusetts there are always exceptions, when a word ends in "ord," we not only drop the "r" as we are so often wont to do, we also replace the "o" with and "i." Simple, right?