Если ваши исключения строго типизированы, вам не нужно беспокоиться о сообщениях. Сообщения предназначены для представления ошибок пользователям, а исключения - для управления потоком в исключительных случаях.
throw new InvalidOperationException("The Nacho Ordering system is not responding.");
может стать
throw new SystemNotRespondingException("Nacho Ordering");
В последнем случае переводить нечего, и поэтому не нужно беспокоиться о локализации.