LINUX.ORG.RU

Не могу сделать русификацию

 , ,


0

1

Пробовал русифицировать генту по материалу вот здесь. Ничего не получается: в терминале в иксах "крякозябры", а в консольке вообще пусто вместо русских букв.

Как мне сделать КОИ8-Р?

// прошу хрюникодчиков проходить мимо и не флудить

☆☆☆☆☆
Ответ на: комментарий от kostik87

Ну как я тебе сейчас могу запустить, если компьютер выключен? А ругался он на отсутствие старой версии какой-то библиотеки. Возможно, это моя вина.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Ну как я тебе сейчас могу запустить, если компьютер выключен?

Сила мысли - великая сила. Позволяет даже в Internet сидеть при выключенном ПК ... Ну и зачем спрашивать как выставить локаль koi8-r, если ПК выключен?

А ругался он на отсутствие старой версии какой-то библиотеки.

Хотя бы записал какой ...

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Ну и зачем спрашивать как выставить локаль koi8-r, если ПК выключен?

Дык, я ж вчера спрашивал!

Хотя бы записал какой ...

Культевой какой-то.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Ну вот посмотришь, тогда показывай сообщение.

kostik87 ★★★★★
()

Как мне сделать КОИ8-Р?

С разморозкой. Зачем оно вам? Ставьте везде UTF-8, не прогадаете.

BattleCoder ★★★★★
()

К слову, когда-то давно без проблем, локализовал Gentoo, настроив везде KOI8-R. Но это было давно... много лет назад. Почти сразу перешёл на юникод. Смысла в KOI8-R сейчас нет. Когда-то, кажется, было актуально, когда некоторые библиотеки юникод не умели кушать.

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

Смысла в KOI8-R сейчас нет

Очень даже есть. Ты для начала попробуй strlen вычисли в этом хрюникоде!

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Внезапно!

Ты для начала попробуй strlen вычисли в этом хрюникоде!

int32_t utf8_strlen(uint8_t *str)
{
	/* This function doesn't properly check validity of UTF-8 character 
	sequence, it is supposed to use only with valid UTF-8 strings. */
	
	int32_t character_count = 0;
	int32_t i = 0; /* Counter used to iterate over string. */
	uint8_t maybe_bom[4];
	
	/* If there is UTF-8 BOM ignore it. */
	if (strlen(str) > 2)
	{
		strncpy(maybe_bom, str, 3);
		maybe_bom[3] = 0;
		if (strcmp(maybe_bom, (uint8_t*)UTF8_BOM) == 0)
			i += 3;
	}
	
	while(str[i])
	{
		/* If bit pattern begins with 0 we have ascii character. */ 
		if (str[i] >> 7 == 0)
			++character_count;
		/* If bit pattern begins with 11 it is beginning of UTF-8 byte
		sequence. */
		else if (str[i] >> 6 == 3)
			++character_count;
		/* If bit pattern begins with 10 it is middle of utf-8 byte sequence. */
		else if (str[i] >> 6 == 2)
			;
		/* In any other case this is not valid UTF-8. */
		else
			return UTF8_INVALID_SEQUENCE;
		++i;
	}
	return character_count;	
}

Взято из библиотеки microutf. Но тебе это не интересно, лучше потрахать мозг, ведь так?

fat_angel ★★★★★
()
Ответ на: комментарий от Eddy_Em

Легко, в один проход, как и в КОИ. Никакой разницы.

P.S. Длину не вычисляют, а хранят

vertexua ★★★★★
()
Ответ на: комментарий от Eddy_Em

Но зачем? Есть over9000 библиотек, которые это умеют. А в любом вменяемом ЯП это встроено в язык.

И да, srtlen в общем-то относительно дорогая операция (O(N)), так что лучше длину строки хранить вместе со строкой.

BattleCoder ★★★★★
()
 LANG="ru_RU.KOI8-R"

 KEYMAP="-u ru4"

 CONSOLEFONT="koi8r-8x16"
 CONSOLEFONT="UniCyr-sans"
ZHekan
()
Ответ на: комментарий от BattleCoder

И да, srtlen в общем-то относительно дорогая операция (O(N)), так что лучше длину строки хранить вместе со строкой

А 30 лет назад сишники смеялись над паскалевскими строками.

redgremlin ★★★★★
()
Ответ на: комментарий от BattleCoder

лучше длину строки хранить вместе со строкой

Есть смысл только если строка используется несколько раз. А если единожды — смысла нет.

Ну, еще всякие strtok в ту же кучу. В общем, хрюникод — говеный костыль.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от NeverLoved

Хм, спасибо. Попробую хромиум. Мне-то пофиг: лишь бы было в чем онлайн фильмцы смотреть, если нет желания их качать.

Eddy_Em ☆☆☆☆☆
() автор топика

Увы, к сожалению мир не совершенен, поэтому сейчас лучше таки юзать утф. Я бы тоже сидел на кои, но тогда придётся ещё во многом себя ограничить.

Debasher ★★★★★
()
Ответ на: комментарий от Eddy_Em

Во всех случаях длину строки нужно вычислять один раз, не больше. Можно сделать ленивое вычисление, если уж прямо так экономить на этом (но смысла точно нет).

BattleCoder ★★★★★
()
Ответ на: комментарий от pS

У тебя есть справка от модеров, что ты не тролль?

Пять пустых звёзд его справка.

J ★★★★★
()
Ответ на: комментарий от Eddy_Em

А чего его запускать, ставь все зависимости должны подтянуться.

Ничего подобного! Не подтягиваются! Я все 3 варианта попробовал.

У тебя особая, уличная гента!.

J ★★★★★
()
Ответ на: комментарий от Eddy_Em

А у strlen случаем нет дополнительного параметра, в котором можно указать кодировку? Ну или как в php mb_strlen.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Есть костыли для хрюникода (в т.ч. и для strtok). Но по понятным причинам вся эта шняга работает значительно медленней нормальных кодировок.

Вообще, конечно, КОИ8-Р — тоже идиотизм, т.к. буквы идут не по порядку, из-за чего сортировка получается сильно тормозной.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

хоть и поставил «unstable»

Можно подробностей: unstable хром (почему не хромиум, кстати?) или вся гента unstable?

iVS ★★★★★
()
Ответ на: комментарий от Eddy_Em

Кстати.

Я все 3 варианта попробовал.

Ты три варианта установки пробовал? Каких если не секрет?

J ★★★★★
()
Ответ на: комментарий от J

chrome stable, chrome beta, chrome unstable. Чего ж тут непонятного?

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от anonymous

Да у меня пофиг куда: хоть в xfce4-terminal, хоть в текстовый редактор, хоть в браузер — везде эта шняга!

Eddy_Em ☆☆☆☆☆
() автор топика

Фантастика!

Загрузил сегодня — заработала русификация в консоли. Не, ну я фигею чесслово!

Теперь надо поставить хромиум и попробовать-таки установить говядину, а затем уже можно из старого /etc помаленьку конфиги переносить.

Eddy_Em ☆☆☆☆☆
() автор топика

Долбаный chromium!

Компилятор был пришиблен oom-killer'ом. Надо на работе компелять...

Неужто нет бинарного?

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от kostik87

Вот же итить-колотить!

google-chrome-stable 
/usr/bin/google-chrome-stable: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory

А хромиум компиляться хочет и его oom-killer убивает ☹

Eddy_Em ☆☆☆☆☆
() автор топика

Как мне сделать КОИ8-Р?

Перейти на UTF-8 который везде работает отлично из коробки ты категорически игнорируешь и ищешь приключений.

bhfq ★★★★★
()
Ответ на: комментарий от Eddy_Em

Ты полез на тестовую ветку?

По сути установи dev-libs/libgcrypt:0/11

emerge -av1 dev-libs/libgcrypt:0/11

Покажи какая сейчас версия установлена:

emerge eix
eix-update
eix dev-libs/libgcrypt

Как видишь: http://packages.gentoo.org/package/dev-libs/libgcrypt

Текущая стабильная версия пакета dev-libs/libgcrypt-1.5.3, она как раз и устанавливается в слот dev-libs/libgcrypt:0/11.

После установки пробуй запускать google-chrome.

Сколько у тебя оперативной памяти?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87
Installed versions:  1.5.3-r100(11){tbz2}(15:04:21 17.04.2014)(ABI_MIPS="-n32 -n64 -o32" ABI_X86="64 -32 -x32") 1.6.1-r1{tbz2}(22:26:04 25.05.2014)(-static-libs ABI_MIPS="-n32 -n64 -o32" ABI_X86="64 -32 -x32")

Только похоже, что таки нет у меня 1.5.3: файл .so.11 отсутствует.

Сколько у тебя оперативной памяти?

2ГБ.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Installed versions: 1.5.3-r100(11){tbz2}(15:04:21 17.04.2014)(ABI_MIPS="-n32 -n64 -o32" ABI_X86=«64 -32 -x32») 1.6.1-r1{tbz2}(22:26:04 25.05.2014)(-static-libs ABI_MIPS="-n32 -n64 -o32" ABI_X86=«64 -32 -x32»)

Почему установлены тестовая 1.6.1-r1 и нестабильная (hardmasked) 1.5.3-r100 версия?

	    |  alpha  |	amd64 |	arm  |	hppa  |	ia64  |	ppc   |	ppc64 |	sparc |	x86
--------------------------------------------------------------------------------------
1.6.1-r1    |	~     |	~     |	~    |	~     |	~     |	~     |	~     |	~     |	~
--------------------------------------------------------------------------------------
1.6.1	~   |	~     |	~     |	~    |	~     |	~     |	~     |	~     |	~     |
--------------------------------------------------------------------------------------
1.5.3-r100  |	M~    |	M~    |	M~   |	M~    |	M~    |	M~    |	M~    |	M~    |	M~
--------------------------------------------------------------------------------------
1.5.3	+   |	+     |	+     |	+    |	+     |	+     |	+     |	+     |	+     |

~ - тестовые версии;
M~ - Нестабильные версии;
+ - стабильные версии.

http://packages.gentoo.org/package/dev-libs/libgcrypt

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

Я тебе уже написал ставь версию из слота «0/11»

emerge -av1 dev-libs/libgcrypt:0/11

Ну и объясни зачем лезть на тестовую, а тем более на нестабильную ветку?

Только похоже, что таки нет у меня 1.5.3: файл .so.11 отсутствует.

Установи:

emerge app-portage/gentoolkit
И смотри список файлов в пакете:
gentoolkit dev-libs/libgcrypt

2ГБ.

Этого должно хватить в случае, если ты активируешь swap и не будешь запускать графическую оболочку. А так лучше пробуй ставить google-chrome, libreoffice-bin и firefox-bin, если нужны.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

Хромого поборол. Полностью все пересобирать неохота + многие плюшки есть только в тестовой версии. Так что, переходить на Stable не хочу.

Сейчас на работе полностью пересобираю все пакеты (т.к. дома USE флаги обновил). Еще вот проблемка: никак не мог поставить xpdf (но это я позже разрулю, там просто кривожопо сделали: сам xpdf в одном оверлее, а openmotif для него — в другом). И вообще, надо потихоньку на openmotif переходить.

Правда, вот беда: kile уж очень удобная штука, так не хочется с ним расставаться. Но придется, т.к. тянуть пол-KDE из-за одной штуки — идиотизм.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

многие плюшки есть только в тестовой версии. Так что, переходить на Stable не хочу.

Новичку как раз и нужно сидеть на стабильной ветке, а если тебе нужны «плюшки» пакетов из тестовой версии, то нужно размаскировать только эти пакеты из тестовой ветки и их зависимости. Для этого и есть /etc/portage/package.keywords. А писать в make.conf ACCEPT_KEYWORDS=«x86 amd4 ~amd64» или ACCEPT_KEYWORDS=«x86 ~x86» не нужно, тем более новичку.

А так ты сейчас начнёшь огребать кучу проблем из-за тестовых версий пакетов. По крайней мере, системные пакеты лучше, что бы были из стабильной ветки.

Сейчас на работе полностью пересобираю все пакеты (т.к. дома USE флаги обновил)

Ну я надеюсь ты в курсе, что в make.conf нужно указывать только флаги, которые ты хочешь включить глобально у всех пакетов в системе, которые поддерживают этот флаг. А для включения флага, только у одного-двух пакетов нужно использовать /etc/portage/package.use.

Еще вот проблемка: никак не мог поставить xpdf (но это я позже разрулю, там просто кривожопо сделали: сам xpdf в одном оверлее, а openmotif для него — в другом).

А ты думаешь его просто так выкинули из основного дерева portage? Он перестал развиваться, плюс версии пакетов-зависимостей перестали присутствовать в дереве, вот можешь почитать: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-text/xpdf/ChangeL... и просмотреть указанные баги. Нет, если в оверлее понапихали патчей, которые позволят собрать xpdf, который перестал разрабатываться в 2011 году на системе 2014 года, то пробуй.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Не, я ж поначалу пытался. Мне чуть ли не в половине пакетов пришлось бы размаскировку делать, поэтому решил, что проще глобально. Коллега уже несколько лет в testing сидит — и ничего, все ОК.

Ну я надеюсь ты в курсе, что в make.conf нужно указывать только флаги, которые ты хочешь включить глобально у всех пакетов в системе, которые поддерживают этот флаг.

В курсе. Просто пришлось флаг gtk2 выставить глобально, а то дофига чего его стало требовать. Я боюсь, как бы не пришлось в скором времени сменить "-gtk2" на "gtk2" ☹ Вот "-qt4 -qt5" я точно не буду отключать.

Он перестал развиваться

Да мне насрать. Лучше смотрелки pdf я не знаю. И не нашел ничего приличного.

перестал разрабатываться в 2011 году на системе 2014 года

В арчиге он у меня есть.

Если так хреново с xpdf, то чем его заменить? Всякое говно вроде okular или evince не катит — слишком жирные и тупые.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Да мне насрать. Лучше смотрелки pdf я не знаю. И не нашел ничего приличного. В арчиге он у меня есть.

Ну напиши ebuild на основе pkgbuild из ArchLinux и собери. Если не взлетит ebuild из оверлея.

Всякое говно вроде okular или evince не катит — слишком жирные и тупые.

Ну напиши сам.

kostik87 ★★★★★
()
Ответ на: комментарий от Eddy_Em

Если так хреново с xpdf, то чем его заменить? Всякое говно вроде okular или evince не катит — слишком жирные и тупые.

mupdf. (zathura возможно, если умеешь в vim)

anonymous
()
Ответ на: комментарий от anonymous

Да я помаленьку пытаюсь xpdf установить. Подправил openmotif'овский ebuild, но что-то он, собака, коллизии генерирует.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Что-то в rebutia был кривой ebuild: куча ошибок вылезает (похоже, какую-то зависимость не прописали, либо poppler старый нужен).

Что-то и из других оверлеев не прет. А вручную не хочется.. Ладно, попробую mupdf.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от kostik87

А так ты сейчас начнёшь огребать кучу проблем из-за тестовых версий пакетов. По крайней мере, системные пакеты лучше, что бы были из стабильной ветки.

Сижу на ~x86, пока только одна проблема была, из последствий: при перезагрузке ругнулся, что последняя проверка была в будущем. В скайпе история сейчас за 15 июня маячит перед историей за сегодня. Почистить историю не знаю как, жду 15 июня когда новая история заменит старую :D

P.S. до последнего думал что хром есть бинарный, а похоже нет :( ФФ есть.

afterlanding ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.