From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Alexej Kryukov To: community@altlinux.ru Subject: Re: [Comm] [JT] Linux i18n Date: Tue, 25 Jan 2005 17:56:18 +0300 User-Agent: KMail/1.6.2 References: <200501231903.23280.arnansky@inbox.ru> <200501242203.50028.akrioukov@mail.ru> <41F57A3C.6070000@users.sf.net> In-Reply-To: <41F57A3C.6070000@users.sf.net> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: 8bit Message-Id: <200501251756.18916.akrioukov@mail.ru> X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jan 2005 14:55:41 -0000 Archived-At: List-Archive: List-Post: On Tuesday 25 January 2005 01:44, Alexey Rusakov wrote: > Alexej Kryukov пишет: > > Простите, но я не очень понимаю, зачем для нескольких слов ставить > целую немецкую/французскую/шведскую раскладку. Достаточно, зная о > возможности подобного сценария, иметь на машине раскладку, если мне > не изменяет память, us_intl Видите ли, поставить отдельную раскладку для каждого языка -- это, я бы сказал, более очевидное решение, ввиду чего именно его приходится ждать от простого пользователя (встречал людей, державших немецкую и французскую раскладку одновременно, хотя немецкая позволяет вводить и французские аксаны также, а французская при американской маркировке крайне неудобна). Впрочем, у такого решения есть и свои плюсы: ведь национальная раскладка -- это часть языковой культуры, которую при глубоком знакомстве с данным языком имеет смысл освоить. А ко всяким us_intl и их аналогам в винде я так и не смог привыкнуть: страшно раздражает, когда ради ввода какой-нибудь кавычки нужно жать на клавишу два раза. > (это в X Window System), которая > позволяет вводить соответствующие символы через dead keys. И эти deadkeys у Вас работать не будут (кроме приложений, основанных на GTK2), если только Вы не возьмете привычку всё запускать в UTF-8 или не настроите Compose. А это придется делать вручную. > Немного > сложнее с некоторыми специфическими наборами символов (например, мне > нужно набирать символы эсперанто), однако если необходимость в них > возникает редко, их можно набрать и из таблицы символов, если часто - > имеет смысл опять же иметь нужную раскладку заранее настроенной, а не > добавлять-убирать.ее на каждый чих. А кто будет раскладку-то сочинять и настраивать? > Даже если вам приспичило-таки поставить отдельную раскладку под > какой-либо язык - GNOME позволяет это сделать, не прерывая сессию, из > удобного интуитивно, извините за банальность, понятного интерфейса. Ох, не говорите мне про гномовскую переключалку... Попробуйте-ка с ее помощью добавить, скажем, русскую раскладку. На выбор предлагается четыре варианта с абсолютно непонятными названиями (чем, по-Вашему, отличается "Раскладка для русского языка" от "Раскладки для простого русского языка"?). И есть еще "Раскладка XKB для русского языка": чтобы сообразить, что надо выбрать именно ее, нужно знать, что такое XKB. Далее, этой раскладке сопоставлена команда setxkbmap ru, что, естественно, даст клавиатуру в досовском варианте. Хотите исправить -- читайте man setxkbmap... А Вы говорите, интуитивно понятно... > Что-то мне подсказывает, что в KDE это тоже возможно. KDEшный переключатель, как Вы, вероятно, слышали, при всем своем удобстве в настройке практически неприменим в наших условиях, т. к. не позволяет повесить раскладку на нормальную комбинацию клавиш (то есть можно, на самом-то деле, но для этого как раз надо теорию знать). Посему он играет роль замечательной ловушки для новичков, которые на него натыкаются в первую очередь, а потом не могут настроить, пока кто-нибудь не объяснит, что на эту бяку надо забить, а раскладки прописывать в XF86Config. Хочешь знать, чем одно отличается от другого -- опять же учи теорию... > Значительно > труднее разобраться с дополнительными раскладками в tty, однако > принцип тот же: ставить/сносить целую раскладку ради нескольких слов > - нерационально. Там этого не придется делать потому только, что для многоязычного текста нужен Юникод, а с ним в консоли умеет работать только vim, в коем раскладки свои. Но вот если вдруг не устраивает переключатель, то да, придется таки поменять раскладку: он же в ней прошит. > Не вижу принципиальных сложностей для автоматизации/прикручивания > удобного интерфейса для настройки. Их и нет. Проблема в другом: выбор между KOI8 и CP1251 (не говоря уж об UTF-8) должен быть сознательным, и в случае ошибки новичок должен иметь возможность ее исправить. И то, и другое требует определенных познаний. > >Или разброс параметров, относящихся к локализации разных подсистем, > > по разным же конфигам. > > По-моему, их не так уж много. Ключевая проблема -- XF86Config (см. ниже). > >Плюс XF86Config с его специфическим синтаксисом, для которого ручное > >редактирование (или пересоздание с последующим редактированием) > >всегда будет удобнее любой конфигурялки. > > Если вы говорите о секции Keyboard, причем ее части, касающейся xkb, С этой частью как раз всё относительно просто (хотя большинство конфигурялок именно с ней-то и не справляются: например, до сих пор не знают о возможности указывать несколько раскладок через запятую). Настоящая проблема в том, что в том же конфиге описывается и мышь, и видеокарта. А поскольку конфиг один, то переписывать его надо всегда целиком. Поэтому всегда есть риск, что при настройке видеокарты программа выкинет непонятные для нее опции клавиатуры, и наоборот. В конечном счете ручное редактирование оказывается дешевле с точки зрения нервов. > то вышеупомянутая тулза из GNOME, имхо, предоставляет необходимую > функциональность. На самом деле эта тулза как раз и близко не трогает XF86Config: она его скорее подменяет, что, естественно, работает только внутри самого Гнома. > В любом случае я не могу назвать редактирование > xorg.conf/XF86Config удачным способом временного(!) добавления > раскладок. И не нужно. Правильный ответ примерно таков: $ setxkbmap -layout "us,de,ru" Но чтобы этим воспользоваться, нужно учить именно XF86Config. > Вы ответили не на мой вопрос. Еще раз: при условии указания списка > необходимых раскладок при установке Linux, зачем "обычному человеку" > TM может понадобиться добавлять/удалять раскладки в дальнейшем on a > regular basis? Ну вот не указал он при установке нужный язык: не знал, что понадобится, или начал изучать его уже потом. С другой стороны, если какая-то раскладка используется редко, то ее присутствие в списке, естественно, замедляет работу с остальными (переключатель-то общий). В таком случае временное удаление вполне целесообразно. И, наконец, я знаю людей, которые держат в винде по пять раскладок. А иксы, между прочим, позволяют только четыре за раз. Вот вам и повод для смены списка. > Возможно, здесь вы сделали ошибку. Linux - это совершенно другая > операционная система, и подходить к ней с виндовыми мерками я не могу > признать корректным. В частности, i18n в Linux сделана совершенно > иначе и очень многие вещи можно сделать проще, если отказаться от > крупноблочного подхода, характерного для виндов. Вот здесь категорически не согласен. Винде свойственно как раз точечное конфигурирование, поскольку любой ключ реестра можно изменить независимо от остальных, и это ничуть не похоже на файлы типа XF86Config, которые нужно переписывать непременно целиком (см. выше). Или вспомните вкладку "Языки и региональные настройки" в винде: тут тебе время, тут тебе формат даты, отдельно десятичный разделитель (можно выбрать любой!), отдельно валюта. А я что-то не припомню ни одной графической конфигурялки для Linux, которая позволяла бы *отдельно*, а не скопом, задать значения переменных из группы LC_*. Так что опять-таки, если кому это надо, остается только редактировать файл. > Я работаю с SuSE ежедневно. Мне пришлось подкручивать русификацию в > какой-то момент, когда SuSE пересаживалась на UTF-8. Я по-прежнему НЕ > ЗНАЮ, в каких файлах что у них лежит в отношении i18n. Все (ну > хорошо, почти все) было сделано из YaST, который действительно > является совершенно потрясающим средством настройки. Поэтому я не > могу утверждать, что имея за плечами настройку русского языка в SuSE, > человек знает "большинство тонкостей" на уровне где какие файлы > редактировать. Мне тоже очень нравится YaST, но локализацию в нем (я видел 9-ю версию) было сделать нельзя из-за отсутствия представления о том, что один и тот же язык может быть сопоставлен разным кодировкам. Поменять KOI8 на CP1251 я смог только вручную, и после этого любой запуск соответствующего модуля YaST привел бы к сбросу моих настроек. А еще в том SuSE слетала console magic (может, теперь поправили?), ввиду чего русификация консоли ни в каком виде не работала, и для починки ее, естественно, опять же требовались некоторые теоретические познания. Впрочем, это обсуждение не имеет большого значения, т. к. я сделал ошибку в предыдущем письме: русификацией SuSE приходилось заниматься не зачинщику треда, а другому его участнику :) > >Да потому, что так от веку делалось во всех дистрибутивах, > > Это слабый аргумент, как вы, я надеюсь, понимаете. Нет, не понимаю. Должны быть очень веские причины, чтобы менять сложившуюся традицию. > Ну слава Богу, но зачем все языки сразу ставить-то? Кстати, вы в > пан-европейской версии Windows поддержку восточных языков включаете? > Это всего лишь одна галочка в настройках. А вот здесь крупноблочный подход как раз пригодился бы. Я не против исключить именно и только CJK локали, но уж лучше я их поставлю, только чтобы быть уверенным, что вся Западная Европа тоже осталась в неприкосновенности. Потому что я не могу гарантировать, что завтра у меня не возникнет потребности взглянуть на Abiword с исландским интерфейсом. > Насчет многих - верится слабо. Подобное положение дел наблюдается в > ALT Linux уже достаточно давно (поправьте меня, если я неправ), > поэтому сюрпризом это может стать только для переходящих с других > дистрибутивов, у которых сюрпризы в любом случае будут, наподобие > важности той же группы wheel. Наблюдаются, на самом деле, колебания, о чем свидетельствует та самая бага 4048. > >А уж если вам очень хочется такое умолчание изменить, > > Пардон - это вам хочется изменить умолчание :) Ничего подобного: за умолчание при нынешнем состоянии инсталлятора следует считать поведение в режиме не-эксперта. > Требования к понятности и доступности документации в любом случае > высоки. Когда как :) > Ну, там вообще-то внизу экрана написано про раскладки. Правда, про > то, что к выбору раскладок надо отнестись максимально рационально и > не бежать от русификации как французы в 1812-м (никаких намеков на > Mandrake), там, кажется не упомянуто. Промашка, согласен. Раскладки здесь как раз ни при чем. Речь совсем о другом: дело в том, что в большинстве виденных мною инсталляторов уже довольно давно предлагается выбрать сперва язык инсталляции, а потом -- дополнительные языки, для которых требуется поддержка. Также давно известно, что практически выбор этих языков никогда ни на что серьезное не влияет. Зная об этом, я такой диалог обычно пропускаю, т. к. соображать, какие же именно языки мне могут понадобиться и щелкать галочки, довольно лениво, а если вдруг и окажется пропущено что-то важное, то это можно донастроить и позднее. С другой стороны *все* языки сразу я тоже едва ли выберу просто из общих соображений, т. к. заранее трудно сказать, не приведет ли это, например, к установке всех пакетов kde-i18n-* объемом в сотни метров. Вот потому-то нужно не общее объяснение типа "здесь вы можете выбрать языки, с которыми собираетесь работать", а предельно четкое предупреждение о том, что на сей раз выбор действительно важен и от него будет зависеть установка файлов локализации каждого пакета. > Честно говоря, натянутый пример. Мне не нужно представлять себе, я и > есть разработчик, занимающийся локализацией и своих, и чужих > программ. Я не использую при тестировании переводов rpm-пакеты - их > как правило, на этом этапе просто нет, особенно если дело касается > моих программ. Ничего не имею против, но, впрочем, удивляюсь, как это Вячеслав Диконов Вас за это не скушал :) А так я согласен: пример натянутый, но только слегка (ведь тестируете же Вы свои rpm?) Чаще бывает другое: чтобы поправить свою локализацию, нужно поглядеть на чужую. Естественно, для этого надо иметь понятие о языке хотя бы на уровне алфавита. Скажем, занимаясь локализацией CyrillicTools, я поглядывал на украинский интерфейс gnumeric. А между тем наверняка мне не пришло бы в голову явным образом пометить украинский при инсталляции, т. к. вообще-то он мне не нужен.