Не до буквы, но по мотивам. В принципе, для текущей задачи можно и такой костыль применить. Спасибо, не догадался сам. Но он не сработает, к примеру, если есть задача хранить форматные сообщения на разных языках. Впрочем, в такой ситуации и printf не сработает. Касаемо разбора форматной строки, он должен производиться в приличной реализации во время компиляции, вместе с анализом типов аргументов. Не знаю, как в Си, а в Окамле неверное просто не скомпилируется. Другое дело, что эта же причина затрудняет и локализацию в Окамле, т.к. не помню, что там бывает с форматными строками, не являющимися литералами.