Локализация 2.0



  • Работаем в Windows.
    1. Качаем и устанавливаем poEdit. Язык интерфейса русский.
    2. Создаем каталоги c:\pfSense\translation, c:\pfSense\translation\root
    3. С помощью WinSCP3 копируем каталоги /etc, /usr в c:\pfSense\translation\root
    4. Запускаем poEdit
    5. Меню Файл > Создать каталог. В появившемся окне вводим без кавычек:

    • Название проекта: "pfSense 2.0"
    • Команда: "pfSense RuTeam"
    • Email адрес команды: "bububu@pfteam.ru"
    • Язык: "Russian"
    • Страна: "Russian Federation"
    • Кодировка: "UTF-8"
    • Кодировка исходного кода: "iso-8859-1"

    Вкладка "Пути"

    • Новый пункт: "C:\pfSense\translation\root\etc\inc"
    • Новый пункт: "C:\pfSense\translation\root\usr\local\www"

    Нажать OK.
    Выбрать каталог для сохранения "C:\pfSense\translation", файл назвать "messages.po"
    После этого начнется процесс создания файла со списком слов.
    6. Длительный процесс перевода. В верхнем окне список. В среднем английское слово которое менять нельзя. В нижнем русский перевод как можно ближе по смыслу. Перевод сохраняется с именем "messages.mo"
    7. Через WinSCP3 создаем каталог "/usr/local/www/locale/ru/LC_MESSAGES" на pfSense (думаю здесь, но можно попробовать использовать /usr/local/share/locale/ru/LC_MESSAGES и соотв скорректировать нижеследующие шаги)
    8. Копируем файл messages.po в созданный каталог /usr/local/www/locale/ru/LC_MESSAGES
    9. Открываем файл /usr/local/www/head.inc и изменяем c [33] строки:

    
    	<title><?php echo($config['system']['hostname'] . "." . $config['system']['domain'] . " - " . $pagetitle); ?></title>
    
           # PAGE 35 
           # localization
    	header("Content-type: text/html; charset=utf-8");
    	putenv("LC_ALL=ru_RU");
    	setlocale (LC_ALL,"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); 
    ?>
    

    Сохраняем и отправляемся побродить по Web интерфейсу.



  • Вот боюсь пока меню так не русифицируется - нужно искать вариант размещения кода в исходниках.



  • Черкнул бы пару строк, что конкретно (какие части интерфейса) переводим.



  • А есть реальная необходимость в переводе?
    Стоит ли тратить на это столько усилий?
    IMHO гораздо полезней доку перевести.
    Для "юзабилити" самого pfSense достаточно руского Captive Portal и репортов по трафику (если это используется)



  • @Evgeny:

    Черкнул бы пару строк, что конкретно (какие части интерфейса) переводим.

    Собственно я перевел пару десятков строк и нашел отображение русским в Interfaces>(assign).
    У меня нет желания делать полный перевод, но решение этой проблемы думаю закончить нужно.
    Поиском по форуму законченного варианта не нашел, везде проблема в конечном отображении.

    Ключевой момент в этом:

    header("Content-type: text/html; charset=utf-8");
    

    2 Mr.Aloof
    Многим, в т.ч. мне, английского текста достаточно вполне. И так даже читабельнее, т.к. при переводе уходит доля смысла. Но еще большую аудиторию останавливает отсутствие локализации потому, что это не всегда грамотные в отношении сетей и администрирования люди. Конечно можно сказать "позовите оДмина", но админы тоже откуда-то берутся. А pfSense продукт из серии "сделайте это проще", иначе смысла крутить Web - морды на FreeBSD нет.



  • @Mr.Aloof:

    Для "юзабилити" самого pfSense достаточно руского Captive Portal и репортов по трафику (если это используется)

    Руского-Украинский Captive Portal нужен!

    http://forum.pfsense.org/index.php/topic,29512.15.html



  • @dr.gopher:

    @Mr.Aloof:

    Для "юзабилити" самого pfSense достаточно руского Captive Portal и репортов по трафику (если это используется)

    Руского-Украинский Captive Portal нужен!

    http://forum.pfsense.org/index.php/topic,29512.15.html

    Вот думаю - неужели разработчики переработали столько кода для возможности локализации, чтобы потом поиметь гемор с каждой страницей? Должен быть простой ключ, делающий то-же что и описанные выше команды. Пока надумал порыться в настройках phpini.
    Еще варианты будут?

    Продолжение темы http://forum.pfsense.org/index.php/topic,37437.0.html


Log in to reply