Проблема: переключение на русский язык

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
rimidal
Posts:17
Joined:19 November 2007, 19:29
Проблема: переключение на русский язык

Post by rimidal » 19 November 2007, 19:43

Используем систему ejudge v.2.3.3 (ОС: Linux Mandriva 2008). При переключении языка на русский в Web интерфейсе язык не меняется. Подскажите как можно решить эту проблему (хотя-бы для new-client). Это необходимо для проведения школьных олимпиад.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема: переключение на русский язык

Post by cher » 20 November 2007, 12:12

rimidal wrote:Используем систему ejudge v.2.3.3 (ОС: Linux Mandriva 2008). При переключении языка на русский в Web интерфейсе язык не меняется. Подскажите как можно решить эту проблему (хотя-бы для new-client). Это необходимо для проведения школьных олимпиад.
Какая кодировка системы?
Что было выведено при выполнении configure?

rimidal
Posts:17
Joined:19 November 2007, 19:29

Re: Проблема: переключение на русский язык

Post by rimidal » 20 November 2007, 17:16

cher wrote:Какая кодировка системы?
Что было выведено при выполнении configure?
./configure --prefix=/home/ejudge/inst-ejudge --with-reuse=/home/ejudge/reuse --enable-charset=koi8-r --enable-socket-path=/tmp/userlist-socket --enable-super-serve-socket=/tmp/super-serve-socket --enable-contests-home-dir=/home/judges --enable-conf-dir=/home/judges/data --enable-cgi-conf-dir=../cgi-data --with-httpd-cgi-bin-dir=/var/www/cgi-bin --with-httpd-htdocs-dir=/var/www/html

Если я конечно правильно вас понял. Это было предложено в инструкциях по установке.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема: переключение на русский язык

Post by cher » 20 November 2007, 17:29

rimidal wrote:
cher wrote:Какая кодировка системы?
Что было выведено при выполнении configure?
./configure --prefix=/home/ejudge/inst-ejudge --with-reuse=/home/ejudge/reuse --enable-charset=koi8-r --enable-socket-path=/tmp/userlist-socket --enable-super-serve-socket=/tmp/super-serve-socket --enable-contests-home-dir=/home/judges --enable-conf-dir=/home/judges/data --enable-cgi-conf-dir=../cgi-data --with-httpd-cgi-bin-dir=/var/www/cgi-bin --with-httpd-htdocs-dir=/var/www/html

Если я конечно правильно вас понял. Это было предложено в инструкциях по установке.
Скорее всего, у Вас в системе по умолчанию включена кодировка UTF-8. Чтобы проверить наберите в командной строке

Code: Select all

echo $LANG
должно появиться что-то вроде ru_RU.UTF-8

Если это так, попробуйте задать опцию --enable-charset=utf-8 вместо koi8-r.

rimidal
Posts:17
Joined:19 November 2007, 19:29

Re: Проблема: переключение на русский язык

Post by rimidal » 20 November 2007, 18:00

cher wrote:Если это так, попробуйте задать опцию --enable-charset=utf-8 вместо koi8-r.
Если поменять эту опцию то возникает ошибка при выполнении make.
.......
gcc -L/home/ejudge/reuse/lib -Wl,-rpath,/home/ejudge/reuse/lib -g -Wall -Werror edit-userlist.o version.o libcommon.a libuserlist_clnt.a -o edit-userlist -lreuse -lz -lm -lexpat -lmenuw -lpanelw -lncursesw
/usr/bin/ld: cannot find -lmenuw
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [edit-userlist] Ошибка 1

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема: переключение на русский язык

Post by cher » 20 November 2007, 19:59

rimidal wrote:
cher wrote:Если это так, попробуйте задать опцию --enable-charset=utf-8 вместо koi8-r.
Если поменять эту опцию то возникает ошибка при выполнении make.
.......
gcc -L/home/ejudge/reuse/lib -Wl,-rpath,/home/ejudge/reuse/lib -g -Wall -Werror edit-userlist.o version.o libcommon.a libuserlist_clnt.a -o edit-userlist -lreuse -lz -lm -lexpat -lmenuw -lpanelw -lncursesw
/usr/bin/ld: cannot find -lmenuw
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [edit-userlist] Ошибка 1
Пакеты libncursesw, libncursesw-devel установлены?

rimidal
Posts:17
Joined:19 November 2007, 19:29

Re: Проблема: переключение на русский язык

Post by rimidal » 20 November 2007, 21:49

Пакет libncursesw-devel не был установлен. Установил его и все откомпилировалось. Но увы результат тот же. Самое что интересное в cgi программе register язык переключается, но так было и раньше.

rimidal
Posts:17
Joined:19 November 2007, 19:29

Re: Проблема: переключение на русский язык

Post by rimidal » 21 November 2007, 00:49

Удалил полностью систему и заново все сконфигурировал (с включенной опцией --enable-charset=utf-8 вместо koi8-r) скомпилировал и установил. Все отлично теперь язык переключается. Действительно дело было в кодировке по умолчанию, у меня - utf-8.
Правда для компиляции пришлось установить пакет bncursesw-devel-5.6-1.20070901.3mdv2008.0.i586.rpm.
Почему-то этот пакет не включен в дистрибутив Mandriva-2008, его пришлось скачать.

Вопрос закрыт. Cher большое спасибо за помощь.

GinKage
Posts:12
Joined:27 March 2008, 17:47

Re: Проблема: переключение на русский язык

Post by GinKage » 28 March 2008, 11:19

Имею ту же проблему на системе Ubuntu 7.10: переключение языка в интерфейсе не меняет язык надписей.
Дело в том, что локаль по умолчанию у меня английская (en_US.UTF-8), поэтому ключами компиляции проблема не решается.
Что делать?

sufix
Posts:10
Joined:27 March 2008, 09:00

Re: Проблема: переключение на русский язык

Post by sufix » 28 March 2008, 12:18

было бы очень хорошим выходом из ситуации сменить локаль

GinKage
Posts:12
Joined:27 March 2008, 17:47

Re: Проблема: переключение на русский язык

Post by GinKage » 28 March 2008, 12:25

Неужели без этого никак?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема: переключение на русский язык

Post by cher » 29 March 2008, 02:10

А вообще ru_RU.UTF-8 настроена (не обязательно как локаль по умолчанию?).

GinKage
Posts:12
Joined:27 March 2008, 17:47

Re: Проблема: переключение на русский язык

Post by GinKage » 31 March 2008, 01:34

Вообще - да, в системе присутствует.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема: переключение на русский язык

Post by cher » 31 March 2008, 11:38

Какие опции были указаны при запуске configure?
Установлены ли пакеты gettext, gettext-devel?

GinKage
Posts:12
Joined:27 March 2008, 17:47

Re: Проблема: переключение на русский язык

Post by GinKage » 31 March 2008, 17:30

Опции - как в документации:
--prefix=/home/ejudge/inst-ejudge --with-reuse=/home/ejudge/reuse --enable-contests-home-dir=/home/judges --enable-conf-dir=/home/judges/data --enable-cgi-conf-dir=../cgi-data --with-httpd-cgi-bin-dir=/usr/lib/cgi-bin --with-httpd-htdocs-dir=/var/www
gettext установлен.
Кодировка в опциях Makefile определяется как utf-8.
Файл с сообщениями (ejudge.ru_RU.UTF-8.po) создаётся, с правильной кодировкой и сообщениями на русском.

Post Reply