12
января
2012
Давелось взять «доводить до ума» сайтик на WP движке с установленным плагинчиком Twitter Tools. Плагин в принципе интересный — интеграция с твиттером сайтик оживляет, но вот русской локализации у плагина не было — отсюда сайт на русском, а все служебные сообщения плагина на инглише — смотрится конечно же отвратительно.
Изначально с локализациями вообще туговато было — обновил плагин до актуального и уже получше.
В изменениях деклалировали
* Added language dir and .pot file
И действительно — папочка language присутствовала с файликом twitter-tools.pot
На этом всё — чё дальше не понятно...
А дальше конечно же гугл
Русификация Wordpress или зачем нужны файлы .mo и po, часть 1
Дублировать информацию не буду — там всё доступно написано... Если кратко — движек для перевода юзает .mo файлы, являющимися скомпрессированными .po файлами, которые в свою очередь создаются из .pot.
Но всё же дополню от себя:
Во первых twitter-tools.pot я переименовал в twitter-tools-ru_RU.po
Во вторых — по изложенному конечно же не пошло — при русификации «week» Poedit постоянно ругался и выдавал ошибку «...twitter-tools-ru_RU.po:373: missing `msgstr[]' section»
Связано это было с неверным заданием множественных форм в заголовке файла.
Сильно мудрить и разбираться я не стал — взял и тупо копирнул заголовки из заведомо рабочего файлика \wp-content\languages\ru_RU.po и всё пошло «на ура».
ReTweet
рубрики: CMS, Программирование |
11
ноября
2011
В многочисленных статьях по 301му редиректу обычно используют самые тривиальные случаи — с www на без www, с одной директории на другую и пр.
В моём случае необходимо было метнуть со странички с параметром ?param=value1... на ?param=value2... (какие именно писать не буду).
Небольшая сложность в таком подходе в том что ни аппач, ни nginx параметры не считают адресом странички.
С вариантом на php всё как обычно — просто решил его добавить до полноты картины 
С него и начнём как с самого простого, но и самого неэффективного
Выдёргиваем нужный параметр value1 через $_REQUEST меняем что нужно, и редиректим куда нужно
header(«HTTP/1.1 301 Moved Permanently»);
header("Location: http://..........);
exit();
Далее, вариант с аппачем — регулярное выражение необходимо наложить на QUERY_STRING
Правим .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^param=value1(.+)$
RewriteRule ^(.*)$ $1?param=value2%1 [R=301,L]
И последний — самый эффективный nginx — тут параметры лежат в переменной $args
if ($args ~* (.*)param=value1(.+)) {
set $args $1param=value2$2;
rewrite ^(.*)$ $1 permanent;
}
ReTweet
рубрики: Администрирование, Полезности, Программирование |
10
ноября
2011
Вот такой вот тафтологичный заголовок получился
Немного хотел поделиться опытом — может кому пригодиться (хотя догадаться самому не сложно).
В общем довелось мне подрубить к сапе статический сайтик — эдак на 10 тыс html страниц
Идея проста — настраиваем обработчиком статических страниц свой скрипт, где уже динамически встраиваем сапу. (думал сначала тупо скриптом все странички поправить — но такой вариант мне не понравился). Сайт лежит на моём хостинге, так что проблем с редактированием конфигов у меня не возникло.
В моём случае фронтэндом у меня стоит nginx — вот в нём то и прописываем нужное правило.
location ~ \.(htm|html)$ {
charset windows-1251;
fastcgi_index index.php;
fastcgi_intercept_errors on;
root /.../site.ru/www/;
index index.php index.html index.htm;
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_param SCRIPT_NAME /get.php;
fastcgi_param SCRIPT_FILENAME /.../site.ru/www/get.php;
}
в get.php уже дёргаем нужный статичный html файл
я его определил через $_SERVER["DOCUMENT_URI"]
и меняем как душе угодно, например
$page = str_replace('