Частичная локализация Pfsense 2.0
-
Так как темы по локализации закрыты, решил написать здесь.
Случайно нарвался на этот топик http://forum.pfsense.org/index.php?topic=30845.0Решил сделать. Сейчас переведено примерно 30% от всего объема Pfsense 2.0 RC1 и дополнительных пакетов (squid, freeradius и тп.)
Перевожу в свободное время. Перевод Firewall/NAT, Shaper Wizard оставлю в самый конец, если кто переведет - огромное спасибо…Переводить через poEdit
Перевожу как сам, так и через translate.ru и гуглопереводчик. Немного почерпнул из локализации mon0wall'a. .
Файлы messages.mo и messages.po можно скачать тут:
http://dl.dropbox.com/u/31210635/messages.rar
Если нашли ошибки, неточности перевода или считаете, что некоторые термины не нуждаются в переводе, пожалуйста отписывайтесь тут...Пакет локализации от dvserg можно скачать тут - http://diskatel.narod.ru/pfsense/index.htm там же и инструкции
По мере перевода шапка топика будет изменяться...
-
Изменения в установке:
Файл /usr/local/www/lang.inc
putenv("LC_ALL=ru_RU"); setlocale (LC_ALL,"ru_RU.utf8"); #putenv("LC_MESSAGES=ru_RU"); #setlocale (LC_MESSAGES,"ru_RU.utf8"); $domain = "messages"; # this is a messages.po file bindtextdomain ($domain, "./locale"); # possible use full path o the 'locale' bind_textdomain_codeset($domain, 'UTF-8'); textdomain ($domain); ?>
В head.inc исправить
на
и добавить
$pagetitle = gentitle( $pgtitle ); # здесь добавить это: require_once('lang.inc');
А так же в guiconfig.inc
require_once("authgui.inc"); # здесь добавить это: require_once('lang.inc');
С особенностями кэширования lighttpd иногда, чтобы увидеть изменения, требуется перезапуск WebConfigurator или самого pfSense.
-
$domain = "messages_ru"; # this is a messages.po file
если файлы как тут - messages.po, то код такой:
$domain = "messages"; # this is a messages.po file
-
Исправил
Думаю оптимально интерфейс будет выглядеть как-то так (аттачмент)
Можно конечно все в нуль перевести, но потом неподготовленному пользователю искать в инете инструкции по настройке по русским названиям будет не легко.
-
офикеть… молодцы, мужики!
-
файлы messages.po, messages.mo (ссылка в первом посте) будут обновляться. Таким образом по этой ссылке всегда можно скачать самую последнюю версию перевода
-
файлы в папке wizards, скорее всего придется переводить непосредственно правкой кода, раз там xml…
-
Думаю импортировать XML поля в проект и проставить где нужно gettext в wizard.php
-
чтобы описания параметров сохранялись русскими буквами мне понадобилось ещё сделать вот такие правки:
--- /etc/inc/xmlparse.inc.orig 2011-06-09 15:50:07.000000000 +0400 +++ /etc/inc/xmlparse.inc 2011-06-09 12:19:48.000000000 +0400 @@ -230,7 +230,7 @@ if((is_bool($cval) && $cval == true) || ($cval === "")) { $xmlconfig .= "<$ent/>\n"; } else if ((substr($ent, 0, 5) == "descr") || (substr($ent, 0, 6) == "detail")) { - $xmlconfig .= "<$ent>\n"; + $xmlconfig .= "<$ent>\n"; } else { $xmlconfig .= "<$ent>" . htmlentities($cval) . "\n"; } @@ -254,7 +254,7 @@ } else if (!is_bool($val)) { $xmlconfig .= str_repeat("\t", $indent); if ((substr($ent, 0, 5) == "descr") || (substr($ent, 0, 6) == "detail")) - $xmlconfig .= "<$ent>\n"; + $xmlconfig .= "<$ent>\n"; else $xmlconfig .= "<$ent>" . htmlentities($val) . "\n"; }
-
Спасибо, некоторым пригодится.
ЗЫ Поправил название для актуальности.
-
При замене файла локализации нужно сделать
killall -9 php
для сброса кэша без перезагрузки.
-
Пункты меню никак нельзя перевести? Кроме правки кода?
-
Никак - только правкой fbegin.inc
Но мое мнение - смысла править меню нет.
Все хелпы и упоминания завязаны на английские наименования. -
Никак - только правкой fbegin.inc
Но мое мнение - смысла править меню нет.
Все хелпы и упоминания завязаны на английские наименования.поддерживаю :) точно также как термины - даже опасно переводить :)
-
Пакет нарисован, можно пользоваться (ссылка в подписи).
Реализован обход кэширования, но иногда таки может потребоваться перезагрузка. -
Поставил RC3 (pfSense-2.0-RC3-i386-20110621-1650.iso.gz), установил пакет локализации, но при попытке перейти по адресу http://ip_address/lang.php выдает 404-ю ошибку.
Через шелл pkg_info показывает, что пакет установлен.
Где может быть закавыка? -
А ip_address - заменили на Ваш IP PFSense ?
-
:)
Разумеется. Уж если я знаю как посмотреть в командной строке установленные пакеты… -
:)
Разумеется. Уж если я знаю как посмотреть в командной строке установленные пакеты…:-[
А! (censored) Мой косяк.
Все находится в /var/tmp нужно перенести в > /usr/local/www.
Или вечером выложу нормальный вариант. -
спасибо!