This is translated “The two brothers smiled at each other.” but I think this is wrong, doesn’t this mean that they laughed at each other?
The translation is correct. “anlachen” is smiling at someone, not laughing. It’s also used in other situations. You might have a look at anlachen – Wiktionary
We stayed at a nice hotel.
I am little confused here. I though anlächeln was to smile, and anlachen was to laugh?
anlachen is used for any smile that goes above a closed mouth and includes two people doing it. Whether or not there is sound (as in lachen/laughing) isn’t that important.
I have never in my 46 years of native germanship heard that “anlachen” only means “smile”. Duden.de calls it “lachend ansehen”, which does not explicitly say it’s only smiling. And yet both the german and the english wiktionary pages say that it means “lächeln”. So the confusion is completely justified here.
Maybe the meaning has shifted over the ages, and somehow in the word “anlachen” has retained the original meaning.
Anyway, as my example shows, you can get along pretty well in life thinking that “(an)lachen”=“to laugh”, and “lächeln”=“to smile”. So as a language learner I would not worry too much and keep it simple.