Автор Гілка: переклад regex7  (Прочитано 3957 раз)

Відсутній sergii

  • Новачок
  • *
  • дописів: 2
  • Карма: +0/-0
  • I Love YaBB 2!
переклад regex7
« : 2007-01-11 13:40:36 »
Спробував перекласти regex7, це мій перший переклад. Виклав на Домівці, та щось ніхто зауважень не робить. Може тут щось порадять.

zzandy

  • Гість
Re: переклад regex7
« Відповідей #1 : 2007-01-11 14:29:08 »
Поки що передивився бігло, є одне зауваження - ви ніби перекладали зі словником (слово за словом) а краще перекладати з серцем (тоді деякі слова можуть, наприклад, змінити свій порядок у реченні). Видно, що проведена серйозна робота, не вистачає лишень легкості. Хоча вихідний матеріал не з легких, м'яко кажучи.

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: переклад regex7
« Відповідей #2 : 2007-01-11 20:55:46 »
декілька орфографічних помилок:
відкриваючими - відкривними
десятьома - десятьма
довгіше - довше
завершати - завершувати
із-за них - через них
затим - це русизм, краще одне з наступних: потім, після цього, потому, опісля, далі, тоді
початкута - початку та
якщо порівняльна послідовність уключає елемент - можливо, краще "містить елемент"?

"можливо" виділяється комами

звідки переклад bug, як "нелад"? здається загальноприйнятими є "вада" та "помилка"

здається колись давно було обговорення перекладати regular expressions, як "формальні вирази", зараз не пам'ятаю аргументів, але тоді мені здалося, що це має сенс...

За шматком, називаним атомом - За шматком, що зветься атомом

себе включно - включно з собою?

Пустий рядок - Порожній рядок, в принципі словники дають два варіанти, але від другого є "порожнина", а від першого лише "пустощі" :)

не треба використовувати - краще не використовувати

Уникайте використовувати їх - фраза звучить не по-українськи, можливо, просто "уникайте їх", або "спробуйте їх уникати"

Взагалі погоджуся, з попереднім дописом, фрази на штиб
"|", "+", and "?" є звичайні символи та нема ніякої заміни для їх функціональності
виглядають досить неприродньо. Я б порадив автору відовліктися від тексту і ще раз, через деякий час, перечитати і дещо оживити мову, хоча також погоджуся, що тема перекладу не з самих простих.
Fedora 35 (x86-64)

Відсутній sergii

  • Новачок
  • *
  • дописів: 2
  • Карма: +0/-0
  • I Love YaBB 2!
Re: переклад regex7
« Відповідей #3 : 2007-01-14 11:36:17 »
Дякую за увагу до тексту. Критика змістовна.

Чи може хтось відповісти: яка саме регулярність української мови порушена у фразах
“Уникайте використовувати їх” та
"|", "+", and "?" є звичайні символи та нема ніякої заміни для їх функціональності

Може переглянете ще один текст щодо регулярних виразів.




Американці звуть регулярні вирази швейцарським війсковим ножем,
хоч кожному трипільцу відомо, що це звичайне _закляття для виклику
потрібних духів та відсіювання непотрібних.

якщо вас цікавять тексти де йдеться про гривни то знаходьте їх
таким робом
гривн[аи] - це знайде слова гривна та гривни, бо квадратні дужки є
вказівкою вибора одної букви.

Якщо написати
гривн[аи]х? то слово гривнах теж буде знайдено, бо ? у регулярних виразах означає,
що попередне може з’явитися один раз, а може і не з’явитися.
Окрім ? є інші вказівки повторення

+ може з’явитися один чи більше разів.
* може не з’явитися чи з’явитися будь-скільки разів

Нам це потрібне, бо нащо оте слово гривни, якщо не показані слова поруч. Тож пишемо

^.*гривн[аи]х.*$

та отримуємо усі рядки де є слова гривна, гривни, гривнах, бо
^ означає початок рядка
. будь-який символ, що може бути перед чи після гривн[аи]х
* - цих символів може не бути, чи бути скільки завгодно
$ - кінець рядка.


Щоб відшукувати також і слово грн пишемо
(гривн[аи]х)|(грн)
бо | це вказівка альтернативи.
Можно було б цієї вказівкою вказати усі чотири слова:
(грн)|(гривна)|(гривни)|(гривнах)
Але могутнім чаклуном так не стають. Могутні чаклуни пишуть:
(гри?в?н([аи]х))?
Хоч воно означає теж саме та гріє такий запис чаклунське серце.
та чаклунські навички розвиває
 


Хоч воно нам чуже, та цуратись доларів не слід. Щось таке нам і класики казали.

Знак долара вже використовується для означення кінця строки
тож щоб позбути його ций властивості поставимо перед ним зворотну похилу \.
Взагалі усі службові символи, а саме ^.[$()|*+?{\ втрачають свою службовість,
й стають звичайними символами, якщо перед ними зворотна похила. А у
вказівці вибору більшість з них службового значення не мають.

Коли йдеться про долари, то бажана не балакина, а конкретні цифри, тож крапка,
що позначає будь-який символ -  це не те, що зараз треба. Краще коли поруч з $ стоять цифри
тож пишемо
[0-9]+\$
Це означає
[0-9]- будь яка ціфра від 0 до 9
+ від одного до будь-скільки разів
\$ - а затим позначка долара.

Хтось пише $ перед цифрами, схопимо це альтернативою |.

 ([0-9]+\$)|(\$[0-9]+)

тай замінено гривни доларами у виразі що бере увесь рядок.

^.* ([0-9]+\$)|(\$[0-9]+).*$
 
Ото воно майже все, що застосовується у функціях регулярних виразів PHP.
Є ще деякі вказівки про які згодом можна дознатися у файлі regex7.
Перл-подібні функції використовують запаморочлівіші закляття,
хоч деяким вони до смаку.


Praporshic

  • Гість
Re: переклад regex7
« Відповідей #4 : 2007-01-14 11:55:25 »
вказівкою вибора однієї літери.

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: переклад regex7
« Відповідей #5 : 2007-01-14 16:05:31 »
вказівкою вибора однієї літери.
я минулий раз теж хотів таке зауваження поставити, але виявилось, що "одної" цілком павильне слово:
http://www.slovnyk.net/?swrd=%D0%BE%D0%B4%D0%B8%D0%BD
http://ulif.org.ua/ulp/dict_all/index.php?find_slovo=%D0%BE%D0%B4%D0%B8%D0%BD&dict=paradigm

хоча "однієї" мені більше подобається :)
Fedora 35 (x86-64)

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: переклад regex7
« Відповідей #6 : 2007-01-14 16:31:27 »
Дякую за увагу до тексту. Критика змістовна.

Чи може хтось відповісти: яка саме регулярність української мови порушена у фразах
“Уникайте використовувати їх” та
"|", "+", and "?" є звичайні символи та нема ніякої заміни для їх функціональності
це може бути моїм власним враженням, але просто порядок слів дещо незвичний, як я писав раніше, я б ужив "уникайте їх", або "спробуйте їх уникати"
“Уникайте використовувати їх” - це слово в слово "Avoid using them", так роблять програмні перекладачі, а порядок слів в англійскій та українській різний. При перекладі краще перкладати не слова а поняття, тобто прочитати фразу, збагнути зміст і потім викласти зміст українською.

те саме і з іншою фразою,
"|", "+", and "?" є звичайні символи та нема ніякої заміни для їх функціональності - це один в один "are ordinary characters and there is no equivalent for their functionality" (до речі було б непогано перекласти "and" та прибрати зайву кому :) )

можливо щось на штиб "трактуються як звичайні символи і тому відсутня можливість вживати їхні функції"

також  вважайте, часто є спокуса перекладати " is/are " українською, як " є ", але українська мова більш різноманітна в такій конструкції і часто is/are перекладаються іншим дієсловом, який підкреслює вказану дію...
Fedora 35 (x86-64)

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: переклад regex7
« Відповідей #7 : 2007-01-14 16:40:32 »
Може переглянете ще один текст щодо регулярних виразів.
будь-ласка проганяйте ваші тексти через перевірку орфографії (http://ispell-uk.sourceforge.net)

трипільцу
цікавять
вибора
попередне
будь-скільки
нащо
Можно
ций
службовість
балакина
ціфра
затим
тай
дознатися
Fedora 35 (x86-64)

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: переклад regex7
« Відповідей #8 : 2007-01-14 16:52:03 »
Американці звуть регулярні вирази швейцарським війсковим ножем,
тут є цікава дилема, оскільки у нас Swiss army knife називають "складний ніж (з багатьма лезами)", але тут йде мова про американців, можливо можна лишити фразу про швейцарців (які ці ножики, власне, називають жабоколами для туристів :) )

Цитата
хоч кожному трипільцу відомо, що це звичайне _закляття для виклику
потрібних духів та відсіювання непотрібних.

якщо вас цікавять тексти де йдеться про гривни то знаходьте їх
таким робом
...про гривні, то ви можете їх знайти таким...


Цитата
гривн[аи] - це знайде слова гривна та гривни, бо квадратні дужки є
вказівкою вибора одної букви.

Якщо написати
гривн[аи]х? то слово гривнах теж буде знайдено, бо ? у регулярних виразах означає,
що попередне може з’явитися один раз, а може і не з’явитися.
Окрім ? є інші вказівки повторення

+ може з’явитися один чи більше разів.
* може не з’явитися чи з’явитися будь-скільки разів

Нам це потрібне, бо нащо оте слово гривни, якщо не показані слова поруч. Тож пишемо
(знову ж намагайтеся не перекладати слово в слово, вживайте живу мову)
Нам це стане у пригоді, бо навіщо...

Цитата
^.*гривн[аи]х.*$

та отримуємо усі рядки де є слова гривна, гривни, гривнах, бо
^ означає початок рядка
. будь-який символ, що може бути перед чи після гривн[аи]х
* - цих символів може не бути, чи бути скільки завгодно
$ - кінець рядка.


Щоб відшукувати також і слово грн пишемо
(гривн[аи]х)|(грн)
бо | це вказівка альтернативи.
Можно було б цієї вказівкою вказати усі чотири слова:
(грн)|(гривна)|(гривни)|(гривнах)
Але могутнім чаклуном так не стають. Могутні чаклуни пишуть:
(гри?в?н([аи]х))?
Хоч воно означає теж саме та гріє такий запис чаклунське серце.
та чаклунські навички розвиває
 


Хоч воно нам чуже, та цуратись доларів не слід. Щось таке нам і класики казали.

Знак долара вже використовується для означення кінця строки
кінця рядка
Fedora 35 (x86-64)