This is interesting. Looking at Rhye's code (CityNameManager) I can see that there are three conditions for the rename to fire: 1. Viking receive any Tech, 2. the Viking are in the Renaissance era, and 3. the Viking own a city called "Nidaros".Vikings reached the Renaissance, because Nidaros renamed to Trondheim (which is a default rename code present in citynamemanager.py) correctly.
The PyScenario Condition Trigger(11).tech(eEra=3) is also checked whenever the Vikings receive any Tech, but it is the Era that the Tech belongs to that determines whether or not the Action(s) will be fired. This is probably why Nidaros became Trondheim and Birka didn't become Stockholm.
Without testing it myself (yet) I would guess that the Trigger had already fired before Birka was founded/spawned (because the Vikings somehow received a Renaissance Tech). But then again - it should fire each time the Conditions are met... (I'll have to revisit the actual code.)
I'd say its the same issue as with the Vikings. Could it be that trading Techs don't count as "Tech Acquired" according to the game?I also had a trigger for Russian renames when they hit the industrial era which didn't fire (I was Russia so I definitely know I was in industrial era ). I will email you the scenario.
Thank you for testing and I will be doing some debugging of my own using your script as soon as I get the time. Hopefully tomorrow night.