Архив автора: admin

Локализация (перевод) драйверов PPD

Производители печатного оборудования офисного уровня (принтеров, МФУ и т.п.), к сожалению, далеко не всегда радуют пользователей операционных систем отличных от Windows. Иногда, даже если есть драйвер PPD для CUPS для нужной модели принтера, он не доступен на родном языке пользователя. Я использую русскую локаль (ru_RU) и в данной заметке покажу, как можно к родному английскому языку драйвера добавить перевод на русский язык. Информации по этой теме в интернете крайне мало. Я нашёл только статью «PPD Extensions» и раздел «Globalized PPD Support» в документации CUPS.

Реальный пример

Уважающий себя производитель Konika Minolta выкладывает драйвера для своего оборудования в том числе и для Linux. Но вот для модели Bizhub C452 доступны драйвера только для нескольких европейских языков, среди которых нет русского. Я скачал архив BHC652PPDLinux_200000002MU.zip, в котором в отдельных каталогах для каждого языка располагались драйвера в виде файлов KOC652opn.ppd и KOC652UX.ppd. Последний я скопировал под своим именем — my_KOC652UX.ppd. Вся работа по переводу будет производиться по нему.
Заголовочную часть я оставил практически без изменений. Лишь добавил строку:

*cupsLanguages: "ru_RU"

Я пропустил разделы опциональных устройств принтера, которых у меня нет и приступил к добавлению переводов по интересующим строкам.
Есть опции, описания которых заключены между объявлениями *OpenUI и *CloseUI. Эти опции описывают элементы управления на форме параметров принтера. Например, мне попадались описания выпадающих списков и переключателей.
Для перевода названия самого параметра нужно добавлять «*ru_RU.Translation», а для перевода опций этого параметра — «*ru_RU.». Проще это всё показать на примере. Вот пример перевода переключателя. Было:


*OpenUI *Collate/Collate: Boolean
*OrderDependency: 1 AnySetup *Collate
*DefaultCollate: True
*Collate False/Off:  "<< /Collate false >> setpagedevice"
*Collate True/On:  "<< /Collate true >> setpagedevice"
*CloseUI: *Collate

Стало:


*OpenUI *Collate/Collate: Boolean
*OrderDependency: 1 AnySetup *Collate
*DefaultCollate: True
*ru_RU.Translation Collate/Разбор по копиям: ""
*Collate False/Off:  "<< /Collate false >> setpagedevice"
*ru_RU.Collate False/Отключено:  "<< /Collate false >> setpagedevice"
*Collate True/On:  "<< /Collate true >> setpagedevice"
*ru_RU.Collate True/Включено:  "<< /Collate true >> setpagedevice"
*CloseUI: *Collate

Вот пример перевода выпадающего списка. Было:


*OpenUI *InputSlot/Paper Tray: PickOne
*OrderDependency: 50 AnySetup *InputSlot
*DefaultInputSlot: AutoSelect
*InputSlot AutoSelect/Auto Select:  ""
*InputSlot Tray1/Tray1:  "<< /ManualFeed false /MediaPosition 0 /TraySwitch false >> setpagedevice"
*InputSlot Tray2/Tray2:  "<< /ManualFeed false /MediaPosition 1 /TraySwitch false >> setpagedevice"
*InputSlot Tray3/Tray3:  "<< /ManualFeed false /MediaPosition 2 /TraySwitch false >> setpagedevice"
*InputSlot Tray4/Tray4:  "<< /ManualFeed false /MediaPosition 3 /TraySwitch false >> setpagedevice"
*InputSlot LCT_Donau/LCT:  "<< /ManualFeed false /MediaPosition 4 /TraySwitch false >> setpagedevice"
*InputSlot ManualFeed/Bypass Tray:  "<< /ManualFeed true /TraySwitch false >> setpagedevice"
*CloseUI: *InputSlot

Стало:


*OpenUI *InputSlot/Paper Tray: PickOne
*OrderDependency: 50 AnySetup *InputSlot
*DefaultInputSlot: AutoSelect
*ru_RU.Translation InputSlot/Лоток загрузки бумаги: ""
*InputSlot AutoSelect/Auto Select:  ""
*ru_RU.InputSlot AutoSelect/Автовыбор:  ""
*InputSlot Tray1/Tray1:  "<< /ManualFeed false /MediaPosition 0 /TraySwitch false >> setpagedevice"
*ru_RU.InputSlot Tray1/Лоток 1:  "<< /ManualFeed false /MediaPosition 0 /TraySwitch false >> setpagedevice"
*InputSlot Tray2/Tray2:  "<< /ManualFeed false /MediaPosition 1 /TraySwitch false >> setpagedevice"
*ru_RU.InputSlot Tray2/Лоток 2:  "<< /ManualFeed false /MediaPosition 1 /TraySwitch false >> setpagedevice"
*InputSlot Tray3/Tray3:  "<< /ManualFeed false /MediaPosition 2 /TraySwitch false >> setpagedevice"
*ru_RU.InputSlot Tray3/Лоток 3:  "<< /ManualFeed false /MediaPosition 2 /TraySwitch false >> setpagedevice"
*InputSlot Tray4/Tray4:  "<< /ManualFeed false /MediaPosition 3 /TraySwitch false >> setpagedevice"
*ru_RU.InputSlot Tray4/Лоток 4:  "<< /ManualFeed false /MediaPosition 3 /TraySwitch false >> setpagedevice"
*InputSlot LCT_Donau/LCT:  "<< /ManualFeed false /MediaPosition 4 /TraySwitch false >> setpagedevice"
*ru_RU.InputSlot LCT_Donau/Лоток большой ёмкости:  "<< /ManualFeed false /MediaPosition 4 /TraySwitch false >> setpagedevice"
*InputSlot ManualFeed/Bypass Tray:  "<< /ManualFeed true /TraySwitch false >> setpagedevice"
*ru_RU.InputSlot ManualFeed/Лоток ручной подачи:  "<< /ManualFeed true /TraySwitch false >> setpagedevice"
*CloseUI: *InputSlot

На картинке визуально легче определить изменения:

Описания некоторых опций занимают несколько строк. Например:


*MediaType Plain/Plain Paper:  "<< /KMMediaType (Plain) /KMMediaColor (None) /KMMediaWeight (Normal) /MediaTabType (None) /MediaPreprinted false /MediaPrepunched false >>
 /KMOptions /ProcSet findresource /setKMoptions get exec"
*End

Для перевода такой опции надо так же копировать всё целиком от «*MediaType» до «*End»:


*ru_RU.MediaType Plain/Обычная бумага:  "<< /KMMediaType (Plain) /KMMediaColor (None) /KMMediaWeight (Normal) /MediaTabType (None) /MediaPreprinted false /MediaPrepunched false >>
 /KMOptions /ProcSet findresource /setKMoptions get exec"
*End

В конце файла дополнил раздел «Change Log»:


*% === Change Log =============================
*% 25.08.2015 Add russian translations

Вот как выглядит результат перевода с точки зрения пользователя. Было:

Стало:

За перевод некоторых надписей отвечает система (на снимках видно, что даже в родном английском варианте есть русские слова). Но в результате работы по переводу практически все строки стали на русском языке. Вот ссылка на получившийся переведённый файл.

Автор: Олег Ехлаков

Цихлазома Сальвини

Цихлазома Сальвини

Цихлазома Сальвини (Cichlasoma salvini) – аквариумная рыбка, относящаяся к семейству цихловых. Как и большинство цихлид – очень красива, очень интересна, но при этом столь же териториальна, агрессивна и весьма труслива. И вряд ли подойдет неопытному новичку.

Иногда она встречается под названием манга-цихлида. Кроме того, ее наименование часто путается с водным растением сальвиния плавающая (Salvinia natans). Поэтому будьте внимательны: рыбка – сальвинИ, растение – сальвиниЯ!

Установка OpenVZ в Ubuntu

OpenVZ — контейнерная система виртуализации для Linux. Мы можем создать определенное количество виртуальных машин, в зависимости от конфигурации нашей реальной машины. Каждая виртуальная машина будет работать как отдельная автономная система и не будет конфликтовать с другими машинами.

Созданные с помощью OpenVZ машины могут быть перезагружены независимо одна от одной, могут иметь разных пользователей, IP адреса, память, процессы, файлы, приложения, библиотеки и настройки. Так как используется виртуализация на уровне ОС, в отличие от VirtualBox Vmware и KVM, гостевые системы будут использовать одно и то же ядро —  основной системы.

Это позволяет каждой машине наиболее эффективно работать с системными ресурсами: памятью, процессором, дисковым пространством и сетью. В этой инструкции будет рассмотрена установка OpenVZ на Ubuntu. Читать

IBM открывает Blockchain-лабораторию

Американский производитель аппаратного и программного обеспечения всерьез задумался о потенциале Blockchain, технологии, на которой построен Bitcoin.

Совместно с британской некоммерческой организацией Innovate Finance, которая занимается поддержкой британского FinTech-сообщества, IBM открывает blockchain-лабораторию (http://goo.gl/zwdXzz). Для определения потенциала в исследовательском центре будут использованы высокоэффективные вычислительные и аналитические мощности.
Читать

Болит спина? … Узнай причину!


Внимание! Проверь себя немедленно ! Рассматриваются симптомы заболеваний, с которыми следует обращаться к врачу! 

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

А вот само проявление болезни происходит после воздействия провоцирующего фактора, который является своеобразной «последней каплей», а не причиной появления болезни. Чаще всего таким провоцирующим воздействием оказывается неправильный подъем тяжелого груза, когда вес поднимается не ногами, а спиной.

Межпозвоночные грыжи. Причины и симптомы.

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


Межпозвоночная грыжа может образоваться в любом отделе позвоночника, но чаще всего она проявляется в шейном и поясничном отделах позвоночника. Основой лечения (не считая момент купирования болевого синдрома) являются физические упражнения для позвоночника при грыже, которые позволяют восстановить мышечный корсет и улучшить состояние связочного аппарата, благодаря чему предупреждаются рецидивы болезни.


Причиной появления грыжи межпозвоночного диска являются дегенеративные процессы, происходящие в дисках.


Причины этих процессов таковы:

  • Неправильная нагрузка на спину. Речь не только о неправильном поднятии тяжестей, так же важно следить за правильной осанкой, работать в удобной позе и т.д.
    • Несоблюдение простейших правил приводит к тому, что ускоряется разрушение межпозвоночных дисков;

  • Недостаток воды в организме крайне негативно влияет именно на соединительные ткани, в том числе – на межпозвоночные диски. Главной задачей дисков является рессорная функция,полноценно выполнять они ее могут только при наличии достаточного количества жидкости, которую они впитывают из окружающих тканей. Если жидкости будет мало,то диски в буквальном смысле будут усыхать, что серьезно увеличит вероятность появления грыжи;

  • Отсутствие умеренных физических нагрузок.
    Не зря основой лечения при грыже позвоночника являются физические упражнения, но они нужны и в повседневной жизни

      • Благодаря именно таким упражнениям развиваются связки и мышцы позвоночника, задачей которых является поддержание позвоночника в оптимальном состоянии. Кроме того, межпозвоночные диски «питаются» (получают необходимые питательные элементы, а также избавляются от ненужного) за счет диффузии. Чтобы она проходила успешно, необходима определенная нагрузка, которая улучшит кровообращение. А создать такие условия проще всего именно с помощью физических упражнений.

  • Серьезной проблемой может быть неправильное питание. И позвоночнику, и межпозвоночным дискам постоянно нужны определенные микроэлементы, которые могут попасть в организм человека только с пищей. Самые важные из них известны всем – кальций, магний, фосфор, калий, хондроитин,  глюкозамин и т.д. При недостатке этих элементов костная ткань становится пористой и слабой, а межпозвоночные диски начинают разрушаться. Так что правильное питание просто необходимо для здоровья спины.

Симптомы, вызванные грыжей межпозвоночного диска:


По данным Американской академии хирургов-ортопедов, симптомы, вызванные грыжей межпозвоночного диска, как правило, описываются как боли в виде жжения и, боли эти могут перемещаться от фактической локализации заболевания до конечностей. Примером этого является седалищная боль. 


Расположение боли зависит от того, где в позвоночнике появилась грыжа:
  • Например, в случае, если грыжа появилась в области шеи, это может привести к болям в плече и руке, в то время как поражённая нижняя часть спины может вызвать боль в ягодицах или ногах, как правило, только с одной стороны тела.

  • Вследствие раздражения грыжей спинного мозга также могут появиться проблемы с сенсорикой. Пострадавшие люди нередко жалуются на такие симптомы как онемение пальцев или даже целых конечностей — руки или ноги. Но также нередко могут возникнуть, напротив, чувства покалывания в конечностях.

  • Ещё одним частым симптомом грыжи является мышечная слабость. И этот симптом также вызван давлением на спинной мозг, вызывающим значительное снижение тонуса мышц. Кроме того, некоторые люди могут жаловаться на довольно необычный вид слабости: они могут испытывать слабость в верхней части тела, в то время как нижняя часть тела может быть неизменной.

В иллюстрации показана локализация боли и напряжения в мышцах при грыже в поясничном отделе позвоночника.

Симптомы: Боли в пояснице, боли в шее, дискомфорт при мочеиспускании, запоры, покалывание в конечностях (в руках или ногах), недержание мочи, онемение конечностей (руки или ноги), боли в конечностях, боли в спине, общая слабость, боли в ягодицах и пр.

 Грыжа позвоночника — не приговор!


Автор: Нина Карулина