Русские символы под Линукс

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Русские символы под Линукс

Сообщение tria » 12.09.2006 12:51:50

Пробую писать под линукс. Хочу использовать cp1251.
Запускаю Лазаря скриптом:
LANG=ru_RU.cp1251
LC_ALL=ru_RU.cp1251
startlazarus
При старте скрипта пишет:
GDK-WARNING **:Locale not supported by c libriary
GDK-WARNING **:Locale not supported by c libriary
....
После запуска не могу вводить русские символы в редакторе кода.
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение SergKam » 13.09.2006 19:15:44

Какой линукс? скорее всего так неполучится, надо полностью локаль пользователя менять чтобы клавиатура пониалась программой.
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение tria » 13.09.2006 19:37:59

Пробовал на Ghost и Mylinux (оба производные от Red hat).
Под Mylinux начинал жаловаться, что шрифт не поддерживает utf-8.
Там я пробовал из терминала выполнять комманды:
locale=ru_RU.cp1251
lazarus

Кстати, а что такое startlazarus?
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Rik » 14.09.2006 10:50:46

SUSE Linux Enterprise Desktop 10. Делал всё как указано в статье по установке Lazarus, однако русский алфавит так и не появился. Можно его интерфейс как-нибудь английским сделать, хрен с ним с русским?
Rik
незнакомец
 
Сообщения: 2
Зарегистрирован: 14.09.2006 10:46:37

Сообщение tria » 14.09.2006 11:32:38

Rik писал(а):SUSE Linux Enterprise Desktop 10. Делал всё как указано в статье по установке Lazarus, однако русский алфавит так и не появился. Можно его интерфейс как-нибудь английским сделать, хрен с ним с русским?

Тебе сюда:
http://freepascal.ru/article//raznoe/20040826100000/
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Rik » 14.09.2006 11:51:21

tria писал(а):Тебе сюда:
http://freepascal.ru/article//raznoe/20040826100000/

Там я был, всё так и делал. Непрокатило...
Rik
незнакомец
 
Сообщения: 2
Зарегистрирован: 14.09.2006 10:46:37

Сообщение tria » 14.09.2006 12:32:24

Rik писал(а):Там я был, всё так и делал. Непрокатило...


У меня получилось.
Только в 9.16 надо еще нажать кнопку "Сохранить рабочий стол в файл". Это первая сверху широкая кнопка.

При чем в Mylinux команды:
locale=ru_RU.cp1251
lazarus

Привели к появлению нормального русского интерфейса. Даже в инспекторе объектов появился русский.
А если использовать startlazarus - то кракозябры.

А вот в редакторе кода добится русского языка так и не получилось...
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Re: Русские символы под Линукс

Сообщение jwv » 14.09.2006 13:02:50

tria писал(а):Пробую писать под линукс. Хочу использовать cp1251.
Запускаю Лазаря скриптом:
LANG=ru_RU.cp1251
LC_ALL=ru_RU.cp1251
startlazarus
При старте скрипта пишет:
GDK-WARNING **:Locale not supported by c libriary
GDK-WARNING **:Locale not supported by c libriary
....
После запуска не могу вводить русские символы в редакторе кода.


что выдаёт
Код: Выделить всё
locale -a|grep ru
?
есть там ru_RU.cp1251?

если нет то её надо поставить,если есть тогда смотри что скажет
Код: Выделить всё
LC_ALL=ru_RU.cp1251 strace -e trace=open lazarus 2>&1 |grep ru_RU

open("/usr/lib/locale/ru_RU.cp1251/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/ru_RU/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/ru_RU.cp1251/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/ru_RU/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)

строчки где в конце стоит что то типа "(No such file or directory)" и виновны в "GDK-WARNING **:Locale not supported by c libriary "
jwv
новенький
 
Сообщения: 21
Зарегистрирован: 10.05.2005 12:23:16

Сообщение tria » 14.09.2006 16:18:43

Попробовал:
# locale -a|grep ru
ru_RU
ru_Ru.cp1251
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8

# LC_ALL=ru_RU.cp1251 strace -e trace=open lazarus 2>&1 |gre p ru_RU
open("/usr/lib/locale/ru_RU.cp1251/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/ru_RU/LC_IDENTIFICATION", O_RDONLY) = 3

И что теперь делать надо?
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение jwv » 15.09.2006 11:32:23

tria писал(а):Попробовал:
# LC_ALL=ru_RU.cp1251 strace -e trace=open lazarus 2>&1 |gre p ru_RU
open("/usr/lib/locale/ru_RU.cp1251/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/ru_RU/LC_IDENTIFICATION", O_RDONLY) = 3

И что теперь делать надо?


это и всё? :(
у меня так:
Код: Выделить всё
open("/usr/lib/locale/ru_RU.cp1251/LC_IDENTIFICATION", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_MEASUREMENT", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_TELEPHONE", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_ADDRESS", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_NAME", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_PAPER", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_MESSAGES", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_MONETARY", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_COLLATE", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_TIME", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_NUMERIC", O_RDONLY) = 3
open("/usr/lib/locale/ru_RU.cp1251/LC_CTYPE", O_RDONLY) = 3

попробуй локаль по новой сгенерить
jwv
новенький
 
Сообщения: 21
Зарегистрирован: 10.05.2005 12:23:16

Сообщение jwv » 15.09.2006 11:38:10

tria писал(а):...
Привели к появлению нормального русского интерфейса. Даже в инспекторе объектов появился русский.
...
А вот в редакторе кода добится русского языка так и не получилось...


вспомнил :) в редакторе тоже поначалу вместо русских букв кракобрязы были. помогла сменна шрифта в "Окружение/Настройки редактора/Дисплей/Шрифт редактора"
jwv
новенький
 
Сообщения: 21
Зарегистрирован: 10.05.2005 12:23:16

Сообщение tria » 15.09.2006 14:08:54

Сгенерил локаль:
localedef -i ru_RU -f cp1251 ru_RU.cp1251

После этого начало показывать кучу ваших строк но с ошибкой -1 ENOENT (No such file or directory)

Операционка - CentOS
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение jwv » 15.09.2006 14:51:44

tria писал(а):Сгенерил локаль:
localedef -i ru_RU -f cp1251 ru_RU.cp1251

После этого начало показывать кучу ваших строк но с ошибкой -1 ENOENT (No such file or directory)

Операционка - CentOS

Глянь есть ли в /usr/lib/locale/ каталог ru_RU.cp1251?
если нет то попробуй localedef --no-archive -i ru_RU -f cp1251 ru_RU.cp1251

посмотри в выводе какую локаль именно ищет лазарус?
если ru_RU.CP1251, то сделай линк с ru_RU.cp1251 на ru_RU.CP1251
jwv
новенький
 
Сообщения: 21
Зарегистрирован: 10.05.2005 12:23:16

Сообщение tria » 15.09.2006 15:46:17

В /usr/lib/locale/ каталога ru_RU.cp1251 небыло. После:
localedef --no-archive -i ru_RU -f cp1251 ru_RU.cp1251
он появился.
Пробую:
# LC_ALL=ru_RU.cp1251 strace -e trace=open lazarus 2>&1 |grep ru_RU
open("/usr/share/locale/ru_RU.cp1251/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/ru_RU/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
-*-arial-medium-r-normal--12-*-*-*-*-*-microsoft-cp1251,*-r-*" does not support all the required character sets for the current locale "ru_RU.cp1251"
open("/usr/share/locale/ru_RU.cp1251/LC_MESSAGES/gtk+.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/ru_RU/LC_MESSAGES/gtk+.mo", O_RDONLY) = -1 ENOENT (No such file or directory)

Вопрос. Почему ищется файл в /usr/share/locale/ru_RU/
а не в /usr/lib/locale/
?
От чего это зависит?
Не, ну я конечно могу попробовать тупо скопировать директорию из одной папочки в другую. Но я линукс не знаю и не ведаю, к чему это приведет.
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Сергей Смирнов » 15.09.2006 16:00:40

Боюсь наврать, но кажется интерфейс Лазаря теперь нормально работает только в UTF-8. То есть когда выбираешь язык интерфейса, то в списке присутствует только Русский [ru], а не как раньше [ru] и [ruwin]. Не знаю как это завязано с локалями, но вот как-то так...
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru
cron