Покажи Публикации - Naka
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: 1 ... 195 196 [197] 198 199 ... 232
2941  Хардуер за Линукс / Сървъри / Re: Странен проблем CentOS 5.5 -: Mar 13, 2011, 18:10
Този не е Българин. Това си е гоогле превод... Де да знам защо.... ???
Спам в БГ форум... Платен драскач .... Анти реклама на Центос....

или пък някое чуждо дуде дето е решило да пише linux-bg.org

Между другото много подобни спам съобщения преведени на Бг съм виждал в пощата.

2942  Нетехнически теми / Идеи и мнения / Re: Предложете wiki софтуер -: Mar 08, 2011, 18:24
Няма ли някъде МедияВики окомплектована с всички/най-важните Extension-и или трябва всичко да събирам. ???

http://en.wikipedia.org/wiki/Special:Version

Като я инсталирах познайте какво? FileUpload е забранен по default ??? ??? ??? а претендират да са Медия...... ??? ??? ???


2943  Нетехнически теми / Идеи и мнения / Предложете wiki софтуер -: Mar 08, 2011, 12:21
Трябва да сложа нещо за публикуване на статии, но не знам какво и нямам опит с wiki-тата.

Пробвам разни....

Медиавики не мога да и хвана смисъла на админстрацията - нещо все е покрита и забутана. А за да добие вид трябва и много плагини да събирам...

Хареса ми идеаята wiki-тата да се съхраняват в файлове (а не в DB) - docuwiki но всички такива изглеждат много постни. :'(

Сега пробвам tiki wiki. Засега това най много ми харесва..... Но няма локалиция на Български :'( и освен това tikiwiki си ползава собствен нестандартен wiki синтаксис.... :'(

Трябва ми вики системата да е писана на PHP.. Незнам какво да избера и сигурно пропускам или подценявам нещо...

Идеи?
 




2944  Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Честит 8-ми Март -: Mar 08, 2011, 11:29
 Page Not Found [_]3
2945  Linux секция за начинаещи / Настройка на програми / Re: форматиране на usb флашка -: Mar 06, 2011, 14:23
Някъде четох, пък и от собствен опит съм го виждал, че когато контролера/firmware усети че има много износени сектори (или вече е твърдо развалена) автоматично превключва флашката в ReadOnly за да запази евентуално какво е останало от информацията.
2946  Нетехнически теми / Идеи и мнения / Re: Програма за възтановяване на повредени CD И други дискове -: Feb 23, 2011, 16:35
Ако са CD-та може да стане с полиране но само ако надраскаването е от долната страна. Ако надраскването е от горната страна на CD-то - няма начин и забравяш за възтановяване - защото записващият слой при CD-та се намира точно от горната страна под много тънък слой лак и по всяка вероятност е пре...н самият записващ слой.

При DVD-та може да си ги полираш и от горе и от долу, защото записващият слой е в средата на пласмасата.
2947  Нетехнически теми / Идеи и мнения / Re: Според вас коя конфигурация е по-добра -: Feb 22, 2011, 20:34
Взимай Intel + Nvidia. Другото не е толкова важно.


Чипсета също е изключително важен, но има ли вече чипсети различни от интел за интел процесор?

С други думи Интел + Интел чипсет.

2948  Linux секция за начинаещи / Настройка на програми / Re: Здравейте, Имам сериозен проблем моля помогнете. -: Feb 16, 2011, 18:13
Какво ще рече това 1 zombie?

http://en.wikipedia.org/wiki/Zombie


сложи си някой графичен tool/applet с който да наблюдаваш натоварването на процесорите. Ако нещо седи постоянно на >50% не е нормално (за ненатоварен сървер/десктоп). А ползвам gkrellm. Много удобно е и за дистанционно наблюдение.
2949  Програмиране / Web development / Re: обръщане на масив в PHP -: Feb 15, 2011, 17:07
П.П. Има ли ентусиасти да си разделим някое пълно издание на правописен речник на по няколко букви и да ги из-по-на-сканираме!

Категорично НЕ!!! Освен ако не плащат по 1 € на дума  [_]3 [_]3 [_]3
2950  Нетехнически теми / Идеи и мнения / Re: Solaris, OpenSolaris или OpenIndiana? -: Feb 15, 2011, 16:45
Едно време някъде във времената на RH7.3 - RH9 пробвах Соларис. Но още тогава беше много под нивото на тогавашните линукси. Беше си и много по-бавен.......

Все пак да не забравяме че GNU-то е измислено точно заради липсата на функционалност и е било пачосване на комерсилните UNIX-и. Наскоро даже един се беше изцепил, че UNIX в съвременният свят вече не съществува. ;D

Ако искаш стандарт насочи се към REDHAT/Fedora/Centos. Като Centos е 100% бинарно съвместим (барабар с бъговете) с Enterprise дистрибуциите на RH.

Между другото много скоро - в рамките на дни се очаква излизането на Centos5.6 и Centos6.  Centos6 е много съвременна диструбуция --- някъде от нивото на Fedora13.  :D [_]3

Можеш да го ползваш както за Десктоп така и за сървер.


ПС: А какво е OpenIndiana? Това да не би да е някоя Индианска дистрибуция?  ??? ??? ???

2951  Програмиране / Web development / Re: обръщане на масив в PHP -: Feb 15, 2011, 12:02
Има още изключения:
4 -> Ч
6 -> Ш  ;D ;D ;D

За какво изобщо ви е небходима обратната транслитерация?

Айде правата има смисъл за да се предостави текст (не превод - а само имена) на чужденец който той ще може да го прочете.

Ами обратната? Да не е за търсене? Ако е за търсачки предполагам, че се изготвя някакъв междинен звуков образ на думите и по този звуков образ се сравняват. Mysql-а имаше нещо подобно.. SpellCheck -овете работят по подобен начин (gnu aspell).

Google-a предполагам също работи по подобен 'звуков' начин, но това не оправя проблемите - по скоро съдейства за налагането на световна Шльоковизация.



2952  Програмиране / Web development / Re: обръщане на масив в PHP -: Feb 14, 2011, 15:37
Общо взето от кирилица към латиница е лесно, но обратното няма да стане без някакви предварително въведени граматически правила.

Обратното няма каk да стане без изкуствен интелект и разпознаване на реч --- щото се губи информация още при правото преобразуване Cyr->Lat

2953  Програмиране / Web development / Re: обръщане на масив в PHP -: Feb 14, 2011, 14:50
Код
GeSHi (PHP):
  1. require "transliteration.php";
  2. // твърди параметри за експорт;
  3. $GLOBALS['bg']=$bg;
  4. $GLOBALS['table_ia']=$table_ia;
  5. $GLOBALS['table_bulg']= $table_bulg;
  6.  
  7. function mb_is_upper($str)
  8. {
  9. // препинателните знаци, шпация, '', и край на реда
  10. // се третират като главни букви и за тях тази функция връща 'true'
  11. $upper = mb_strtoupper($str,'UTF-8');
  12.  
  13. return $str === $upper;
  14. }
  15.  
  16. /*
  17. function ia_function($matches)
  18. {
  19. // as usual: $matches[0] is the complete match
  20. // $matches[1] the match for the first subpattern
  21. //
  22. // за достъп към елемент от стринга не може да се използва формата $str[1] - работи само за ASCII
  23. // не може да се използва и substr() - работи само за ASCII
  24.  
  25. $str=$matches[0];
  26. // print '|'.mb_substr($str,0,1,'UTF-8').mb_is_upper(mb_substr($str,0,1,'UTF-8')).'|';
  27.  
  28. if (mb_is_upper(mb_substr($str,0,1,'UTF-8'))) $ret='I'; else  $ret='i';
  29. if (mb_is_upper(mb_substr($str,1,1,'UTF-8'))) $ret.='A'; else  $ret.='a';
  30.  
  31. return $ret;
  32. }
  33.  
  34. function bulg_function($matches)
  35. {
  36. // Тази функция предполага че всички замествания на 'бълг' се състоят от по 1-ин символ
  37. // например за всички езици Ъ->1символ(А); Следствие на това е,
  38. // че не нужна проверка за следващият символ за запазване на 'casе'-а, както се прави в replace_function()
  39. // global $bg, $target;
  40.  
  41. $S1=$matches[1]; // 'бълг'
  42.  
  43. // print $S1;
  44.  
  45. if (mb_is_upper(mb_substr($S1,0,1,'UTF-8'))) $ret='B'; else  $ret='b';
  46. if (mb_is_upper(mb_substr($S1,1,1,'UTF-8'))) $ret.='U'; else  $ret.='u';
  47. if (mb_is_upper(mb_substr($S1,2,1,'UTF-8'))) $ret.='L'; else  $ret.='l';
  48. if (mb_is_upper(mb_substr($S1,3,1,'UTF-8'))) $ret.='G'; else  $ret.='g';
  49.  
  50. return $ret;
  51. }
  52. */
  53.  
  54. function ia_function($matches)
  55. {
  56. // as usual: $matches[0] is the complete match
  57. // $matches[1] the match for the first subpattern
  58. //
  59. // за достъп към елемент от стринга не може да се използва формата $str[1] - работи само за ASCII
  60. // не може да се използва и substr() - работи само за ASCII
  61. global $table_ia;
  62.  
  63. $S1=$matches[1];
  64.  
  65. $ST=strtr($S1,$table_ia);
  66.  
  67. return $ST;
  68. }
  69.  
  70. function bulg_function($matches)
  71. {
  72. // Тази функция предполага че всички замествания на 'бълг' се състоят от по 1-ин символ
  73. // например за всички езици Ъ->1символ(А); Следствие на това е,
  74. // че не нужна проверка за следващият символ за запазване на 'casе'-а, както се прави в replace_function()
  75. global $table_bulg;
  76.  
  77. $S1=$matches[1]; // 'бълг'
  78.  
  79. // print '|'.$S1;
  80. // 0.43 сек. (10000 цикъла) strtr($S1,$table);
  81. // 0.70 сек. (10000 цикъла) str_replace()
  82. // 1.42 сек. (10000 цикъла) 8 броя $str=preg_replace('/б/u', 'b', $S1);
  83. // 2.62 сек. (10000 цикъла) 4 броя проверки (mb_is_upper(mb_substr($S1,0,1,'UTF-8'))) $ret='B'; else  $ret='b';
  84. // 5 сек.    (10000 цикъла) най-бавно чрез цикъл и търсене в масива $bg, $target
  85.  
  86. $ST=strtr($S1,$table_bulg);
  87.  
  88. return $ST;
  89. }
  90.  
  91.  
  92. function replace_function($matches)
  93. {
  94. global $bg, $target;
  95.  
  96. $S1=$matches[1];
  97. $S2=$matches[2];
  98. //print '|'.$S1.$S2.'|';
  99.  
  100. // ако не е намерен символа в бг таблицата връща самият символ например:ы
  101. if ( ($key = array_search($S1, $bg)) === FALSE ) return $S1;
  102.  
  103. $ST=$target[$key];
  104.  
  105. // print '['.$S1.']'.($key & 1);
  106. // print '['.$S1.']'.mb_strlen($ST,'UTF-8');
  107.  
  108. // бърза проверка за главна буква: $key(четно 0,2,4)-главна;   $key(нечетно 1,3,5)-малка;
  109. // проверка за четност
  110. // ($key & 1) - 1 нечетно; 0 четно;
  111.  
  112. // ЖРЕБЧЕВО->ZhREBChEVO
  113. //         ->ZH...CH...
  114. // Ако текущият заместван символ е главна буква (и заместващият я стринг е с повече от 2 букви)
  115. // И следващият символ е главна буква то целият заместващ я стринг се капитализира Zh->ZH
  116. // проверката за mb_strlen($ST,'UTF-8')>1 се предодврати ненужното извикване на mb_is_upper($S2)
  117. if ( (!($key & 1) AND mb_strlen($ST,'UTF-8')>1) AND mb_is_upper($S2)) return mb_strtoupper($ST,'UTF-8');
  118.  
  119. return $ST;
  120. }
  121.  
  122.  
  123. function transliterate($cyrstr, $lang, $STRICT_CASE=true)
  124. {
  125. // връща транслителиран стринг към съответният език
  126. // транслитерационните масиви трябва да се заредени предварително.
  127.  
  128. // STRICT_CASE задава дали да се запазват case-а на буквите както е при оригиналния текст
  129. // STRICT_CASE = true Запазва се case-а
  130. // STRICT_CASE = false Не се запазва case-а. Всичко се конвертира към малки букви
  131. // и накрая се капитализира първата буква на всяка дума.
  132.  
  133. // STRICT_CASE == true е 6 пъти по-бавен от без STRICT_CASE
  134. // 6.4 сек. (10000 цикъла) transliterate('жжжжжж', 'en', false);
  135. // 35  сек. (10000 цикъла) transliterate('жжжжжж', 'en', true);
  136.  
  137. $target=$GLOBALS[$lang];
  138. // това е нужно за _callback функциите
  139. $GLOBALS['target']=$target;
  140.  
  141. // pcretest -C
  142. //
  143. // https://bugzilla.redhat.com/show_bug.cgi?id=457064
  144. // http://gaarai.com/2009/01/31/unicode-support-on-centos-52-with-php-and-pcre/
  145. // http://bugs.centos.org/view.php?id=3252
  146. //
  147. // Compilation failed: PCRE does not support \L, \l, \N, \U, or \u
  148. // трябва пакета да се прекомпилира със %configure --enable-utf8 --enable-unicode-properties
  149. //  --enable-utf8 е зададено в src.rpm но --enable-unicode-properties не е
  150.  
  151. setlocale(LC_CTYPE,'bg_BG.utf8');
  152.  
  153. // документация
  154. // http://www.pcre.org/pcre.txt
  155. // \b matches a word boundary (only ASCII letters recognized - all with values less than 256 )
  156. // \p{Cyrillic} -- match Cyrillic letter
  157. // \P{Cyrillic} -- match NON Cyrillic letter
  158. // \p{L} letter
  159. // \p{Ll} Lower case letter
  160. // \p{Lu} Upper case letter
  161.  
  162.  
  163. if ($STRICT_CASE)
  164. {
  165. // !!! за да работи правилно case-insensitive трябва да има задължително u за модификатор /xxx/ui
  166. // [^a-zA-Zа-яА-Я0-9]|$ маркира край на думата - всеки не буквен знак или край на стринга $
  167. //$str=preg_replace('/ия(?=[^a-zA-Zа-яА-Я0-9]|$)/ui', 'ia', $cyrstr);
  168.  
  169. // Заменя ия->ia в края на думите като запазва малките и големите букви в оригиналния текст
  170. $str=preg_replace_callback('/(ия)(?=[^a-zA-Zа-яА-Я0-9]|$)/ui', 'ia_function', $cyrstr);
  171.  
  172. // етнонима 'бълг' - незвисимо къде е се транслителира като 'bulg', частен случай е България-Bulgaria
  173. $str=preg_replace_callback('/(бълг)/ui', 'bulg_function', $str);
  174.  
  175. // ВАЖНО! (?=.?) е Lookahead assertion за всякакъв символ .? 0 или 1 път.
  176. // Въпреки че целият израз е в скоби той не се захваща и не може да се използва като $2
  177. // Но когато патъна вътре в Lookahead израза е обграден в скоби (?=(.?)) той се захваща като $2
  178. // Като при това целият израз си остава Lookahead, без да оказва влияние на целият патън
  179. // това е захващане на 1 пореден Кирилски символ $1 + инфо за следващият символ в $2 (какъвто и да е той)
  180. // /(\p{Cyrillic})(.?)/ - това по същият начин захваща $1 и $2 но скача на +2 знака при следващият цикъл
  181. // докато комбинацията с Lookahead скача на +1 - т.е. обхожда всеки пореден знак
  182. $str=preg_replace_callback('/(\p{Cyrillic})(?=(.?))/u', 'replace_function', $str);
  183.  
  184. }
  185. else
  186. {
  187. $str=preg_replace('/(ия)(?=[^a-zA-Zа-яА-Я0-9]|$)/ui', 'ia', $cyrstr);
  188. $str=preg_replace('/(бълг)/ui', 'bulg', $str);
  189. $str=str_replace($GLOBALS['bg'], $target, $str);
  190. $str=mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
  191. }
  192.  
  193. return $str;
  194. }

Мисля че това е всичко.
първо трябва да заредиш масивите. transliterate.php

и след това:
transliterate('Това е само пример, София, България', 'en', false);

ако $STRICT_CASE==false игнорира спазването на всички малки и големи букви и работи много бързо. Ако обаче $STRICT_CASE==true работи много бавно щото гледа малките и големите букви да съвпадат точно и в транслителираният стринг.
Например: въведен стринг тип хакерско писане:
transliterate('ЖрЕбЧеВо', 'en', true);
ще го транслителира правилно така
ZhRеBchEvO ;D

общо взето транслитерацията (при не спазване на CASE-a) се извършва само от това:

Код
GeSHi (PHP):
  1. {
  2. $str=preg_replace('/(ия)(?=[^a-zA-Zа-яА-Я0-9]|$)/ui', 'ia', $cyrstr);
  3. $str=preg_replace('/(бълг)/ui', 'bulg', $str);
  4. $str=str_replace($GLOBALS['bg'], $target, $str);
  5. $str=mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
  6. }

ако успееш да оправиш кодировките и locale-тата всичко би трябвало да работи. Не мога да се сетя входящият стринг transliterate($cyrstr  ..... дали беше в cp1251 или в utf-8



2954  Програмиране / Web development / Re: обръщане на масив в PHP -: Feb 14, 2011, 14:45
Добре де ще вадя.

transliteration.php

Код
GeSHi (PHP):
  1. <?php
  2. // този файл и всички локализиращи файлове са кодирани в utf-8
  3.  
  4. // в този файл се описват масивите за транслитерация от $cyr към различните езици
  5.  
  6. $bg =  array('А', 'а',
  7. 'Б', 'б',
  8. 'В', 'в',
  9. 'Г', 'г',
  10. 'Д', 'д',
  11. 'Е', 'е',
  12. 'Ж', 'ж',
  13. 'З', 'з',
  14. 'И', 'и',
  15. 'Й', 'й',
  16. 'К', 'к',
  17. 'Л', 'л',
  18. 'М', 'м',
  19. 'Н', 'н',
  20. 'О', 'о',
  21. 'П', 'п',
  22. 'Р', 'р',
  23. 'С', 'с',
  24. 'Т', 'т',
  25. 'У', 'у',
  26. 'Ф', 'ф',
  27. 'Х', 'х',
  28. 'Ц', 'ц',
  29. 'Ч', 'ч',
  30. 'Ш', 'ш',
  31. 'Щ', 'щ',
  32. 'Ъ', 'ъ',
  33. 'Ь', 'ь',
  34. 'Ю', 'ю',
  35. 'Я', 'я');
  36. // АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ
  37. // ABCDEFGHIJKLMNOPQRSTUVWXYZ
  38. // abcdefghijklmnopqrstuvwxyz
  39.  
  40.  
  41. // http://bg.wikisource.org/wiki/Закон_за_транслитерацията
  42. // правилата са за превод към латиница, но се подразбира English
  43. // за другите езици (например Немски) важат други правила, които не са описани в закона.
  44. //
  45. // (2) Буквеното съчетание „ия“, когато е в края на думата, се изписва и предава чрез „ia“. Sofia
  46. // Чл. 6. Името на българската държава се изписва и предава на латиница в съответствие с установената // традиция: България — Bulgaria
  47. // Bulgaria Bulgarska, Bulgarski
  48.  
  49. // $table_ia/bulg изключения.
  50. // Тези 2 таблици се използват за транслитерация само след цялостен match на стринга 'ия' или 'бълг'
  51. // как точно се мачва (например накрая на думата за 'ия') се определя от самият preg_replace()
  52. // идеята на използването им е, че така може да се запази Case-а на оригиналните букви.
  53. $table_ia=array('и'=>'i',
  54. 'я'=>'a',
  55. 'И'=>'I',
  56. 'Я'=>'A');
  57.  
  58. $table_bulg=array('б'=>'b',
  59. 'ъ'=>'u',
  60. 'л'=>'l',
  61. 'г'=>'g',
  62. 'Б'=>'B',
  63. 'Ъ'=>'U',
  64. 'Л'=>'L',
  65. 'Г'=>'G');
  66.  
  67. $en =  array('A', 'a',
  68. 'B', 'b',
  69. 'V', 'v',
  70. 'G', 'g',
  71. 'D', 'd',
  72. 'E', 'e',
  73. 'Zh','zh',
  74. 'Z', 'z',
  75. 'I', 'i',
  76. 'Y', 'y',
  77. 'K', 'k',
  78. 'L', 'l',
  79. 'M', 'm',
  80. 'N', 'n',
  81. 'O', 'o',
  82. 'P', 'p',
  83. 'R', 'r',
  84. 'S', 's',
  85. 'T', 't',
  86. 'U', 'u',
  87. 'F', 'f',
  88. 'H', 'h',
  89. 'Ts','ts',
  90. 'Ch','ch',
  91. 'Sh','sh',
  92. 'Sht','sht',
  93. 'A', 'a',
  94. 'Y', 'y',
  95. 'Yu','yu',
  96. 'Ya','ya');
  97.  
  98.  
  99. // http://de.wikipedia.org/wiki/Kyrillisches_Alphabet#Bulgarisch
  100. // но: България — Bulgaria
  101. // правилото за ия (ia) се запазва в края на думата
  102. $de =  array('A', 'a',
  103. 'B', 'b',
  104. 'W', 'w',
  105. 'G', 'g',
  106. 'D', 'd',
  107. 'E', 'e',
  108. 'Sch','sch',
  109. 'S', 's',
  110. 'I', 'i',
  111. 'J', 'j',
  112. 'K', 'k',
  113. 'L', 'l',
  114. 'M', 'm',
  115. 'N', 'n',
  116. 'O', 'o',
  117. 'P', 'p',
  118. 'R', 'r',
  119. 'S', 's',
  120. 'T', 't',
  121. 'U', 'u',
  122. 'F', 'f',
  123. 'Ch', 'ch',
  124. 'Z','z',
  125. 'Tsch','tsch',
  126. 'Sch','sch',
  127. 'Scht','scht',
  128. 'A', 'a',
  129. 'J', 'j',
  130. 'Ju','ju',
  131. 'Ja','ja');
  132. ?>
2955  Програмиране / Web development / Re: обръщане на масив в PHP -: Feb 14, 2011, 14:19
Имам такова работещо решение и точно за такова го правих. Даже мислех да го пускам публично, но се замотах.......

Обаче изисква pcre-то да е компилирано (заради кирилцата) с
./configure --enable-utf8 --enable-unicode-properties

в fedora/RH --enable-unicode-properties липсва.

например без това $str=preg_replace('/(бълг)/ui', 'bulg', $str);
модификатора /u няма да работи :'( и разни други работи с кирилицата и preg_replace не работеха. Не открих и никакво друго алтернативно решение освен пркомпилирането на pcre.

Ако искаш ще го пусна тук, но трябва да го вадя от код и може да пропусна някоя зависмост. 3-4 функции са


Страници: 1 ... 195 196 [197] 198 199 ... 232