Комментарии в блоголёте - пред запись на блоге Программы для блогов. Хочу продолжить тему поднятую Максом на страницах его блогов - локализация движка. Прочитав его заметки я призадумался, произвел тесты на производительность и пришел к следующим выводам.

Во первых совсем не стоит обращать внимание на стандартный переводчик gettext с его собственными форматами и софтом для перевода. согласен, плавал, пробовал. Далее Макс выдвинул идею про хранение строк в одном одномерном массиве в виде php файла. Вполне допустимо, но народ как правило плохо знает языки программирования, а программистам и так сойдет - без перевода. Есть же ini файлы, которые вполне понятны обычным людям. Провел тесты парсинга ini и php файла с массивом 100 на 100. Скорость примерно одинаковая. Так что для хранения локализации допустим ini файл. Я в программах под Windows использую для локализации ini файл, но сравнивать php и обычную программу некорректно. Тут надо скорее вести речь о человеческом факторе. Под виндой ини файл у меня разбит на секции, где имя параметра не является строкой, а лишь служит якорем (индификатором) текста. Текст может меняться как - от этого в любом языке будет все нормально. Поясню: в WP строка переводится полностью, и если в строке затесался лишний пробел, то строка не будет переведена. У меня нет однозначного ответа что лучше: переводить строку целиком, либо давать якоря для текста. Я использую якоря (ну как еще назвать? Метки? Название?). Следующий вопрос - это массив. Отчего то я подозреваю, что если массив будет из 1000 строк, и нужная строка будет 999, то php будет последовательно сравнивать все 999 ключей. Разбивка на секции ускорит поиск значения в несколько раз.

В своем движке для хранения данных я использую php файлы следующим образом: переменная сериализуется, обрамляется комментариями с двух концов и в таком виде сохраняется в файл. В результате соблюдается относительная секьюрность. Я провел тесты парсинга моих сериализованных файлов и обычный парсинг того же самого массива только через include. Разница в скорости около 2 - 3 раза. Так что можно с легкостью скрестить ини файлы и сериализованный файл простым способом: если не найден php файл то парсится ini и сохраняется рядом с ini. Таким образом для переводчика достаточно перевести ини файл и его загрузить на сервер, после чего удалить одноименный php файл в том же каталоге. Скорость и удобство в одном месте.

Мой блог находят по следующим фразам
wordpress раскрутка
база данных в денвер
php livejournal class
как сделать поддомен на VDS?
скачать Синонимайзер
запросы php