This kind of behavior indicates insecurity or anxiety, not aggression. The snarling and snapping are both part of dogs' body language and communication. She says "don't get any closer to me, I'm not feeling safe".
It's very important that you don't punish her for this kind of communication.
- Either she gets even more insecure and anxious, because she still feels unsafe in the presence of those dogs but now she also feels unsafe communicating with them because she gets punished for that.
- Or she learns that she's not allowed to snarl and might skip the communication next time. That means that she'll escalate to nips or even bites without growling first.
First, you should keep in mind that her behavior might have a medical cause. Dogs often get insecure and exhibit what people describe as "aggressive behavior" when their eyesight gets worse or when they are in pain, for example from arthritis. It's a good idea to get her checked by a vet during a regular appointment.
If there are no medical reasons, the best solution would be to expose her to more dogs, so that she can relearn her social skills. The best partner to relearn those skills is a calm and friendly dog who is not on a short leash. Both dogs should be allowed to move around each other freely and unimpaired by leashes and anxious owners.
A common problem with leash aggression is that most dogs pull on the leash to get to each other. Even if a dog is very friendly, this pulling changes the body posture. The torso is lifted up by the harness or collar while the hind legs push forward. At the same time the front legs tense up because they lose contact to the ground. In dog body language this is a very aggressive posture and a warning right before an attack. But the dog doesn't want to attack, it just wants to greet your dog. This miscommunication, caused by leash pulling, could also be a reason why your dog suddenly growls at approaching dogs. The solution is to either ask the other dog owner to not hold the leash so short or to ask them to stop for a second and kneel down (this moves the anchor point of the leash and the posture of the pulling dog is changed).