Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Частичная локализация Pfsense 2.0

    Scheduled Pinned Locked Moved Russian
    43 Posts 10 Posters 21.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      schmel
      last edited by

      Так как темы по локализации закрыты, решил написать здесь.
      Случайно нарвался на этот топик 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 там же и инструкции

      По мере перевода шапка топика будет изменяться...

      1 Reply Last reply Reply Quote 0
      • D
        dvserg
        last edited by

        Изменения в установке:

        Файл /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.

        SquidGuardDoc EN  RU Tutorial
        Localization ru_PFSense

        1 Reply Last reply Reply Quote 0
        • S
          schmel
          last edited by

           $domain = "messages_ru";              # this is a messages.po file 
          

          если файлы как тут - messages.po, то код такой:

           $domain = "messages"; # this is a messages.po file 
          
          1 Reply Last reply Reply Quote 0
          • D
            dvserg
            last edited by

            Исправил


            Думаю оптимально интерфейс будет выглядеть как-то так (аттачмент)
            Можно конечно все в нуль перевести, но потом неподготовленному пользователю искать в инете инструкции по настройке по русским названиям будет не легко.

            ru.png
            ru.png_thumb

            SquidGuardDoc EN  RU Tutorial
            Localization ru_PFSense

            1 Reply Last reply Reply Quote 0
            • E
              Eugene
              last edited by

              офикеть… молодцы, мужики!

              http://ru.doc.pfsense.org

              1 Reply Last reply Reply Quote 0
              • S
                schmel
                last edited by

                файлы messages.po,  messages.mo (ссылка в первом посте) будут обновляться. Таким образом по этой ссылке всегда можно скачать самую последнюю версию перевода

                1 Reply Last reply Reply Quote 0
                • S
                  schmel
                  last edited by

                  файлы в папке wizards, скорее всего придется переводить непосредственно правкой кода, раз там xml…

                  1 Reply Last reply Reply Quote 0
                  • D
                    dvserg
                    last edited by

                    Думаю импортировать XML поля в проект и проставить где нужно gettext в wizard.php

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

                    1 Reply Last reply Reply Quote 0
                    • L
                      lesha
                      last edited by

                      чтобы описания параметров сохранялись русскими буквами мне понадобилось ещё сделать вот такие правки:

                      
                      --- /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";
                       			}
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • D
                        dvserg
                        last edited by

                        Спасибо, некоторым пригодится.

                        ЗЫ Поправил название для актуальности.

                        SquidGuardDoc EN  RU Tutorial
                        Localization ru_PFSense

                        1 Reply Last reply Reply Quote 0
                        • D
                          dvserg
                          last edited by

                          При замене файла локализации нужно сделать

                          killall -9 php 
                          

                          для сброса кэша без перезагрузки.

                          SquidGuardDoc EN  RU Tutorial
                          Localization ru_PFSense

                          1 Reply Last reply Reply Quote 0
                          • S
                            schmel
                            last edited by

                            Пункты меню никак нельзя перевести? Кроме правки кода?

                            1 Reply Last reply Reply Quote 0
                            • D
                              dvserg
                              last edited by

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

                              SquidGuardDoc EN  RU Tutorial
                              Localization ru_PFSense

                              1 Reply Last reply Reply Quote 0
                              • A
                                alexandrnew
                                last edited by

                                @dvserg:

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

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

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dvserg
                                  last edited by

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

                                  SquidGuardDoc EN  RU Tutorial
                                  Localization ru_PFSense

                                  1 Reply Last reply Reply Quote 0
                                  • V
                                    vlad
                                    last edited by

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

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dvserg
                                      last edited by

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

                                      SquidGuardDoc EN  RU Tutorial
                                      Localization ru_PFSense

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        vlad
                                        last edited by

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

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dvserg
                                          last edited by

                                          @vlad:

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

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

                                          SquidGuardDoc EN  RU Tutorial
                                          Localization ru_PFSense

                                          1 Reply Last reply Reply Quote 0
                                          • V
                                            vlad
                                            last edited by

                                            спасибо!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.