Why do you add the strings as members when creating the object? Won't that cause the translation stuff to be executed upon object creation. Why don't you defer the call to t() until you need the translation? Just asking ...