Локализация 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 и репортов по трафику (если это используется) -
Черкнул бы пару строк, что конкретно (какие части интерфейса) переводим.
Собственно я перевел пару десятков строк и нашел отображение русским в Interfaces>(assign).
У меня нет желания делать полный перевод, но решение этой проблемы думаю закончить нужно.
Поиском по форуму законченного варианта не нашел, везде проблема в конечном отображении.Ключевой момент в этом:
header("Content-type: text/html; charset=utf-8");
2 Mr.Aloof
Многим, в т.ч. мне, английского текста достаточно вполне. И так даже читабельнее, т.к. при переводе уходит доля смысла. Но еще большую аудиторию останавливает отсутствие локализации потому, что это не всегда грамотные в отношении сетей и администрирования люди. Конечно можно сказать "позовите оДмина", но админы тоже откуда-то берутся. А pfSense продукт из серии "сделайте это проще", иначе смысла крутить Web - морды на FreeBSD нет. -
Для "юзабилити" самого pfSense достаточно руского Captive Portal и репортов по трафику (если это используется)
Руского-Украинский Captive Portal нужен!
http://forum.pfsense.org/index.php/topic,29512.15.html
-
Для "юзабилити" самого 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