At first: Unit and zone names can end on e.g. ^m or ^p or similar which shows (for non en language) the gender of the text to add the correct article.
So you should first remove those by using lcoal nameClean = zo_strformat(SI_UNIT_NAME, GetUnitName("player")) e.g.
And if you want to check for zones why don't you simply use the zoneIndex, which are language independent "always the same numbers", and thus way easier to check for?
Lua Code:
local myTableToCheck = {
[zoneIndexOfBalFoyenHere] = true,
}
if myTableToCheck[GetUnitZoneIndex("player")] then
---player is in that zone
end
If you need to check that the player is in the zone, even though she/he is in a subzone like a delve, check the other API functions like GetParentZoneId() and so on to maybe get the parent zoneId (should be the top zone's ID then, not the one of the delve anymore). Not sure what your usecase is and what you need to check and get, but string comparison is slow, and error prone. Better use the index and id functions instead as no translation or similar would be needed.