Новости:

Форуму исполнилось 12 лет!

Появилась ссылка на архив (до 16.06.2020 г.) форума и вики slackware.ru .
Владельцы и(или) правообладатели сайта slackware.ru могут со мной связаться
и я уберу ссылку по их первой же просьбе. По ссылке не работает поиск и, естественно, логин с регистрацией. Поэтому, всё только для чтения.

Главное меню

Русифицированный инсталлятор Slackware

Автор cdrw, 15 августа 2013, 23:39:21

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

cdrw

Тут нечаянно забрёл на страничку...
В тихушу так, чтобы никто не знал хлопцы делают.
Или уже была новость и я проморгал?

Graf

В таблице "Переводчики и корректоры, зарегистрированные на Transifex" никого знакомого нет в части русского языка? ;)

cdrw

Цитата: Graf от 16 августа 2013, 08:53:34
В таблице "Переводчики и корректоры, зарегистрированные на Transifex" никого знакомого нет в части русского языка? ;)

Да видел я, огромное спасибо за работу!
Молодцы, очень нужное дело!
По новому взглянул на инсталлятор, многое понятным стало.

bormant

Примерно вот так выглядит установка Slackware при помощи SLINT (75 кадров):

timoshka

Не могу понять как начать этим SLINT пользоваться!
Объясните мне пошагово на примере вновь вышедшей 14.1, пожалуйста.

Graf

Цитата: timoshka от 08 ноября 2013, 11:47:53
Не могу понять как начать этим SLINT пользоваться!
Объясните мне пошагово на примере вновь вышедшей 14.1, пожалуйста.

Дык, вроде и так по шагам написано http://slint.fr/index.html.ru

timoshka

Хоть убейте, не понимаю!
Зашел я в http://slint.fr/pub/32-14.1/ и что? Там 2 файла и оба текстовых!

bormant

#7
Образы установщика временно убраны, об этом написано там же:
Цитировать
WARNING

We are preparing for release of Slint-14.1, that internationalize Slackware-14.1
and doing some fixes for previous editions.

Meanwhile, installers are removed from slint's website.

Sorry for the inconvenience
, идёт тестирование: http://slint.fr/testing/installers/slint-14.1/
Присоединяйтесь.

ps. Обратите внимание, в образах только установщик, источник пакетов нужен отдельно (подойдёт дистрибутивный диск Slackware, его образ, дерево пакетов на диске, дерево пакетов по nfs/ftp/http/samba).

cdrw

Я так понимаю, проект русифицирует тексты и просто включает русский шрифт, без объявления русской локали?
Пытался проследить алгоритм русифицирования - не получилось... :(

bormant

Достаточно распаковать /initrd.img из slint и /isolinux/initrd.img из Slackware и сравнить содержимое.
Исходники установщика в распакованном в ./usr/lib/setup/
- установка раскладки ./usr/lib/setup/SeTkeymap
- установка локали ./usr/lib/setup/SeTlocale

В slint, загруженном в русский установщик,
# echo $LANG
ru_RU.utf8

cdrw

UTF-8 и шрифт. Русская локаль ведь не объявлена?

bormant

Что в вашем понимании "русская локаль"?
Как вы установили отсутствие объявления "русской локали"?

cdrw

#12
export LANG=ru_RU.UTF-8

и ещё, интегрировал в initrd mc - он на английском...
Только когда запустил скрипт lang.sh с помощью того же mc, локаль установилась...
Это же ручной костыль. Сказываются школьные двойки... :)

Добавлю, русифицировал оригинальный initrd по своему понятию, так как не смог понять алгоритма интернационализации слинта.

bormant

Ответьте себе на несколько вопросов.

Что такое "export LANG=ru_RU.utf8"? Это 2 команды, синтаксически совмещённые в одну:
1) LANG=ru_RU.utf8  -- это присваивание переменной окружения LANG значения "ru_RU.utf8".
2) export LANG -- экспорт переменной LANG в общее окружение (environment).
Это написано в man bash.

Как уже показал выше, переменная LANG установлена и экспортирована в окружение.

На что влияет эта переменная? Если никакие индивидуальные параметры локали (переменные LC_*) не были специально установлены, они считаются равными значению LANG, если только не установлена LC_ALL, иначе используется её значение для всех LC_*.
За язык сообщений отвечает LC_MESSAGES. Если для локализации приложение использует gettext, то его языковые файлы лежат в
/usr/share/locale/язык/LC_MESSAGES с тем именем, которое оно использует в вызове textdomain(). Для mc это "mc", поэтому файл его переводов /usr/share/locale/ru/LC_MESSAGES/mc.mo. Пример получения перевода из сценария:

$ echo $(gettext mc UP--DIR)
-ВВЕРХ-

$ echo $(gettext mc 'FT&P link...')
&FTP-соединение...

cdrw

Я всё это понимаю и примерно так же и раньше представлял себе локализацию.
Попробую описать всё что я делал по памяти.

1. Скопировал в initrd из пакета glibc /usr/lib/locale/ru_RU.utf8 и файл locale.
Это должно обеспечивать работу команды locale  и скрипта lang.sh

2. Скопировал из пакета kbd файлы обеспечивающие вывод кириллического шрифта

3. "Выдрал mc и библиотеки от которых зависит его работоспособность(всё работает) и туда же, в initrd...

4. Скрипты lang.sh и rc.font соответственно в /etc/profile.d  и /etc/rc.d

После этого, команда locale работает, mc тоже, но шрифт - кракозяблики... :(
Шрифт начинает выводиться нормально, только после принудительного запуска скрипта /etc/rc.d/rc.font "вручную"...
Но это же не наш метод, правда?
Вот я и решил подсмотреть, как это сделали ребята в проекте slint и,.. ничего не понял.
Про *.mo я знаю и учитывал этот момент.
Вот мой /usr/bin (на всякий случай):

compress
dlist_test
dumpkeys
get_device
get_driver
get_module
kbd_mode
loadkeys
loadunimap
locale
man
mapscrn
mc
mcdiff
mcedit
mcview
setfont
systool
tty
unicode_start
zcat


и /usr/lib/

libglib-2.0.so
libglib-2.0.so.0
libglib-2.0.so.0.3200.4
libgmodule-2.0.so
libgmodule-2.0.so.0
libgmodule-2.0.so.0.3200.4
libslang.so
libslang.so.2
libslang.so.2.2.3
libsysfs.so
locale
setup
terminfo


Что я мог пропустить? Или скрипты инициализации не хотят видеть rc.font?
Подскажите пожалуйста!