Частичная локализация 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
    Но мое мнение - смысла править меню нет.
    Все хелпы и упоминания завязаны на английские наименования.



  • @dvserg:

    Никак - только правкой fbegin.inc
    Но мое мнение - смысла править меню нет.
    Все хелпы и упоминания завязаны на английские наименования.

    поддерживаю :) точно также как термины - даже опасно переводить :)



  • Пакет нарисован, можно пользоваться (ссылка в подписи).
    Реализован обход кэширования, но иногда таки может потребоваться перезагрузка.



  • Поставил RC3 (pfSense-2.0-RC3-i386-20110621-1650.iso.gz), установил пакет локализации, но при попытке перейти по адресу http://ip_address/lang.php выдает 404-ю ошибку.
    Через шелл pkg_info показывает, что пакет установлен.
    Где может быть закавыка?



  • А ip_address - заменили на Ваш IP PFSense ?



  • :)
    Разумеется. Уж если я знаю как посмотреть в командной строке установленные пакеты…



  • @vlad:

    :)
    Разумеется. Уж если я знаю как посмотреть в командной строке установленные пакеты…

    :-[
    А! (censored) Мой косяк.
    Все находится в /var/tmp нужно перенести в  > /usr/local/www.
    Или вечером выложу нормальный вариант.



  • спасибо!



  • Появился исправленный вариант? а то вручную приходится переносить.



  • Доброго времени суток!

    pfSense-2.0-RC3-i386-20110621-1650

    Пытаюсь поставить русификацию (pfsense-lang-1.0.tbz)
    Вроде делаю все как в PDF-ке.

    файл в /tmp/ лежит

    Делаю:
    http://thin.kiev.ua/download/pf/lang.JPG

    при попытке зайти на http://192.168.0.22/lang.php

    404 - Not Found

    Упс… Извиняюсь. кажись вторую страничку не дочитал. :-(

    cp /var/tmp/* /usr/local/www/*

    Закладка появилась. Добавил messages.mo и messages.po

    Выбрал русский язык, перегрузил.

    Русификации нет. :-(



  • @kazakov-fmf:

    Появился исправленный вариант? а то вручную приходится переносить.

    Пока нет - занят пополнением бюджета.



  • @dr.gopher:

    Закладка появилась. Добавил messages.mo и messages.po
    Выбрал русский язык, перегрузил.
    Русификации нет. :-(

    Нужен только message.mo
    потом в меню выбираешь русский.



  • кто нибудь может перевести мастера openvpn, trafik shaper? или скинуть файл message.po со строками для перевода?



  • @schmel:

    @dr.gopher:

    Закладка появилась. Добавил messages.mo и messages.po
    Выбрал русский язык, перегрузил.
    Русификации нет. :-(

    Нужен только message.mo
    потом в меню выбираешь русский.

    0

    Спасибо! Заработал ваш message.mo,  из этого архива  http://dl.dropbox.com/u/31210635/messages.rar



  • Ребят , делаю все по мануалу , загружаю пакет , устанавливаю его , но в итоге все равно при откртытии пфсенс/lang.php ошибка 404 нот фаунд , что не так делаю?



  • После установки пакета, все, что находится в /var/tmp нужно перенести в  > /usr/local/www.



  • @schmel:

    После установки пакета, все, что находится в /var/tmp нужно перенести в  > /usr/local/www.

    Можно для новичка
    1. Скачать пакет - скачал
    2. Загрузил пакет с помощью Diagnostics: Execute command
    3. Установил пакет - после установки пакет в пкж_инфо пишет что он не установлен
    4. Написать Execute Shell command какю команду что бы перенести.

    Мб, так нужно дать доступ на запись файлов или что то еще?



  • @bloodninja:

    4. Написать Execute Shell command какю команду что бы перенести.

    Мб, так нужно дать доступ на запись файлов или что то еще?

    cp /var/tmp/имя файла /usr/local/www
    Кроме копирования, ничего не надо делать

    Работчая русификация message.mo в этом архиве!
    http://dl.dropbox.com/u/31210635/messages.rar



  • @dr.gopher:

    @bloodninja:

    4. Написать Execute Shell command какю команду что бы перенести.

    Мб, так нужно дать доступ на запись файлов или что то еще?

    cp /var/tmp/имя файла /usr/local/www
    Кроме копирования, ничего не надо делать

    Работчая русификация message.mo в этом архиве!
    http://dl.dropbox.com/u/31210635/messages.rar

    Скачал файл pfsense-lang-1.0.tbz
    Загружаю его с помощью аплоад - пишет:
    Note: this function is unsupported. Use it on your own risk!
    Uploaded file to /tmp/pfsense-lang-1_0.tbz
    Пишу pkg_add /tmp/pfsense-lang-1_0.tbz , ответ вылетает $ pkg_add /tmp/pfsense-lang-1_0.tbz
    Пишу pkg_info:
    $ pkg_info
    bsdinstaller-2.0.2011.0621 BSD Installer mega-package
    gettext-0.18.1.1    GNU gettext package
    grub-0.97_4         GRand Unified Bootloader
    libiconv-1.13.1_1   A character set conversion library
    pfsense-lang-1.0    PFSense 2.0 GUI international support
    cp /var/tmp/pfsense-lang-1_0.tbz /usr/local/www
    и так делал cp /var/tmp/* /usr/local/www/*

    захожу пфсенс/lang.php 404 - not found

    Или какие файлы перенести нужно?



  • @bloodninja:

    cp /var/tmp/lang.php /usr/local/www
    и так делал cp /var/tmp/* /usr/local/www/*

    захожу пфсенс/lang.php 404 - not found

    Или какие файлы перенести нужно?

    lang.php
    lang.inc
    lang_fn.inc



  • у меня нет этих файлов. только …..tbz даже после выполнения команды



  • @Sergun68:

    у меня нет этих файлов. только …..tbz даже после выполнения команды

    Именно в каталоге /var/tmp/ ?



  • @Sergun68:

    у меня нет этих файлов. только …..tbz даже после выполнения команды

    Я уверен что ты пытаешься загружать pfsense-lang-1.0.zip файл. А тебе нужно его для начала разархивировать, потом в папке появляется *.tbz

    PS: Спасибо за помощь , все получилось после переноса 3х файлов =)



  • bloodninja не надо делать поспешных выводов. именно tbz файл я загружаю
    dvserg да в этом каталоге



  • @Sergun68:

    bloodninja не надо делать поспешных выводов. именно tbz файл я загружаю
    dvserg да в этом каталоге

    А ты его добавил pkg_add ? В pkg_info отображается?



  • добавил а в pkg_info не отображается. в tmp файл tbz есть. а после выполнения команды pkg_add/tmp/pfsense-lang-1_0.tbz ничего не меняется



  • @Sergun68:

    добавил а в pkg_info не отображается. в tmp файл tbz есть. а после выполнения команды pkg_add/tmp/pfsense-lang-1_0.tbz ничего не меняется

    pkg_add /tmp/pfsense-lang-1_0.tbz после pkg_add пробел и pfsense-lang-1.0.tbz версия пакета через точку а не через нижнее подчеркивание



  • все получилось. спасибо


Locked