OK, so that's just brilliant, and was exactly what I was looking for. Now the question is, what am I potentially getting myself into by overwriting the __tostring metamethod?
Just to give everyone a better idea of my code structure, I'm not using modules and all functions are in the global space, so getting the global metatable like below should work fine for me.
getmetatable("").__tostring=function(in_string) if t[in_string] ~= nil and t[in_string][language] ~= nil then return t[in_string][language] else return in_string
end end
print("english1")
a_value="english2" print(a_value)
print("notintable")
Thanks again, I love this language and the fine people who support it.
Brett