I'd guess that's probably more related to the amount of code between the "if" and "elseif" for each locale. What happens if you do it this way instead:
Code:
if locale == A then
-- stuff
return end
if locale == B then
-- stuff
return end
Since it's only complaining after 142,112 lines, it should be able to handle multiple independent "control structures" of only 12,000 lines each.