Closed another-guy closed 5 years ago
Word "bug" should definitely not be translated as "error" to Russian. Suggestion: дефект
(similarly to "defect" which is close to "bug"), or баг
which is informal, but absolutely omni-present and understood by everyone.
Word "reuse" to only be translated as "повторное использование" rather than "переиспользование" which can not be found in vocabularies (gramota.ru, google search).
Here's a related quote from an online source:
Правильный русский эквивалент сравнительно нового термина «reusability» — «возможность повторного использования» или, что короче, «повторная используемость» (этот термин применяется к программному обеспечению). Однако у многих программистов в ходу оказался неправильные переводы «переиспользуемость» или «переиспользование». Действительно, одно из многих значений приставки «пере» «повторение действия заново, еще раз или иначе» (переделать, перестроить). Но в данном случае в языке уже есть слово «недоиспользование», что заставляет понимать «переиспользование» как его антоним, противоположность. То есть неправильно трактовать значение приставки «пере» — как чрезмерность, излишество использования (по аналогии с переплатить, перезреть), что, конечно, дезориентирует читателя или слушателя.
Any thoughts on that?
@lex111 your input would be valuable on this one since you're authoring the TRANSLATION.md
file (BTW, thanks for putting it together!)
Also, would we prefer to have a separate Git issue per word/term being discussed when necessity arises?
- Word "reuse" to only be translated as "повторное использование" rather than "переиспользование" which can not be found in vocabularies (gramota.ru, google search).
It's true this word is not and will be in the dictionaries, but it is still used and is not something grammatically wrong...
I will mention that there is such a useful dictionary - Multitran. https://www.multitran.ru/c/M.exe?l1=1&l2=2&s=reuse
Also, would we prefer to have a separate Git issue per word/term being discussed when necessity arises?
Agree, let there be one issue, where we will discuss the recommendations on translation, fine?
Thanks for the reference to Multitran. I can rollback a commit regarding this word then (see PR).
Думаю, уместнее всего здесь писать на русском, предлагаю также добавить в файл ссылку на этот словарь.
Нужно определиться с тем как переводить props, в русском переводе Vue, данный термин переводится входные параметры (https://ru.vuejs.org/v2/guide/components-props.html)
~Мои пять копеек это поставить вопрос чуть иначе: стоит ли сейчас переводить props вообще. Я не живу в русско-говорящей стране, поэтому не знаю, что в разговорном обиходе для props.~
~Варианты:~
~Имело бы смысл сделать опрос русскоязычных React программистов. Так могли бы понять, какой из вариантов наименее отталкивающий для общей массы. Но не думаю, что на это есть ресурсы.~
Update. Окей, я погорячился с "пропсы -- гадость". Похоже, в таком варианте многие и правда пишут уже сейчас. Если устоялось, то можно его использовать
Я в целом за пропсы. На практике так все по-моему и говорят.
Надо определиться по поводу:
Меня очень беспокоит render потому что в реакте рендер не занимается реальной "отрисовкой" (конфликт с paint). Как раз-таки наоборот — весь рендеринг происходит перед коммитом и пейнтом. Про это и так уже по-айнглийски путаются. Я думаю, может просто оставить «рендеринг» и «рендериться»? Более абстрактно и тогда мне кажется не так легко сбиться.
В качестве проблемного предложения — "Effects run after every render, but they don't block the paint." Если render отрисовка, то это превращается в неправильную тавтологию.
Мне пока тоже кажется, что «рендер» лучшая вещь:
render
не думаю, что это именно отрисовка (в значении прямого перевода слова).Хотя если кто-то предложит что-то интереснее, то лучше конечно же заменить.
В рамках безумного лингофутуризма — «сборка» :smiling_imp:
Будешь смеяться, но он изначально назывался structure в древней внутренней версии 2011 года.
Еще стоит иметь в виду, что со временем классы отойдут на второй-третий план, и название метода перестанет мелькать. По смыслу мы будем каждый раз говорить о «выполнении» функции.
Если не терять контекста (мол, мы в Реакте), то всегда будет понятно, что такое «рендер».
Если в общем, я бы шёл по тропинкам, которые прокладывает сообщество. То есть буквально: послушать топовые русскоязычные доклады по Реакту и записать, как там говорят. Это будет настоящая документация.
Тогда думаю рендер и рендеринг будет, но будет хорошо, если кто-то уточнит.
Привет! 👋 Бегло просмотрел /tutorial/tutorial.html - у меня больше вопросов, чем решений, но подумал, что все равно стоит их задать:
feature
- если есть "баг", то должна быть и "фича"? :)to mutate
, его производные (immutability
, "мутабельность", "изменяемость"?) и отличие от to change
([из]менять), если таковое необходимо?lifting state
- устойчивое выражение в контексте реакта, если я правильно понимаю, поэтому, наверное, нужен аналог какой-то?Update. Окей, я погорячился с "пропсы -- гадость". Похоже, в таком варианте многие и правда пишут уже сейчас. Если устоялось, то можно его использовать
Я в целом за пропсы. На практике так все по-моему и говорят.
Может быть все-таки дать шанс термину «свойства»? Есть у него какие-то отрицательные стороны?
Есть у него какие-то отрицательные стороны?
Думаю, что да. У «свойств» есть две проблемы:
Как я заметил по текстам и докладам, в контексте React под рендером и отрисовка - одно и то же (имеется в виду сам процесс, а не название функции). И даже если говорят рендерит, то в целом имеют в виду то же самое — отрисовывает (и его производные).
Если посмотреть по гуглу:
Про видео, что мне приходит в голову: @xanf в своём докладе чаще даже упоминает немного отличающиеся термин — перерисовка, похожий на отрисовку вариант.
И как мне показалось, рендер используется, когда имеют в виду процесс в браузере, а отрисовку (или перерисовку) — для отображения, вывода, визуализации [компонента]. И судя по всему так и есть, учитывая упоминание paint в документации (3 раза), поэтому я бы настаивал на использовании именно отрисовки, а рендеринг — в специфичных случаях. И мне непонятно на самом деле по уже принятому PR, что используем, когда в документации упоминается render, всё-таки отрисовку?
P.S. Кстати по поводу reconciliation, всё тот же @xanf перевёл его как свёрка, насколько это верно и может этот вариант использовать, @gaearon?
reconcillation все таки "сверка" (без ё) :) Мне этот термин нравится и не нравится одновременно. Не нравится как звучит, но нравится как "постороннему" от мира Реакта человеку сразу понятно что происходит
Про "перерисовку" / "отрисовку" - я за "отрисовку" render = отрисовка rerender = перерисовка
Неизбежна путаница с традиционным OO-подходом
Хотя в этом, безусловно, есть смысл, все-таки свойства и инкапсуляция в традиционном ООП это ортогональные вещи. Как предоставлять доступ к свойствам в каждом конкретном случае решает конкретный разработчик.
Реакт избегает этой проблемы, искажая слово в английском
Английский обладает большей гибкостью в этом случае — в нем подобные сокращения распространены шире.
С другой стороны очень близкое к «пропсы» «чипсы» вполне вошло в словари.
reconcillation все таки "сверка" (без ё) :)
Да, простите, глубокая ночь, пора идти спать :)
В качестве проблемного предложения — "Effects run after every render, but they don't block the paint." Если render отрисовка, то это превращается в неправильную тавтологию.
Тогда, render - используем транслитерацию, и далее отрисовку, верно?
@lex111
С рендером усложняется ситуация, потому что на практике React всегда был синхронный, так что большой принципиальной разницы в путанице между render и paint в плане времени не было. Но в ближайшие месяцы эта разница появляется (в concurrent mode и с passive effects), и риск запутаться выше. Я думаю, что не стоит слишком ориентироваться на то, что эти два слова относительно взаимозаменяемы сегодня (а точнее, люди как правило не в курсе разницы).
Есть на самом деле несколько независимых процессов:
ReactDOM.render()
.Было бы здорово отделить первое по значению от следующих двух. Если два последних путаются, это не страшно.
Поэтому я за «рендер» про декларативную часть, «вывод» или «отображение» про ReactDOM.render
, и «отрисовку» или «перерисовку» для browser paint.
props - "атрибуты"? Почему вообще React использует props а не attrs по аналогии с html терминологией?
Атрибуты кстати было бы ок, если остальные не против. Тоже думал но забыл )
Есть маленький caveat в том что не все JSX-атрибуты становятся пропсами. Например <div ref={foo} />
, ref
это атрибут но не проп. Потому что он резервирован реактом.
@gaearon
Тогда я вообще ничего не понимаю :face_with_head_bandage: , зачем сейчас такое разделение?
| render(ing) **in component sense** | рендер, рендерить, отрендерить, рендеринг |
| render(ing) **in visual sense** | отрисовать, вывести на экран |
И тогда здесь используем везде рендеринг и его производные?
становятся пропсами это атрибут но не проп
Заметно, что транслитерация не совсем подходит из-за образования множественного числа в английском. Будут "пропЫ" вместо "пропСов" :)
(надо бы выделить в отдельные ишью переводы для render
и props
, чтобы здесь почище стало?)
Ирония в том, что #11 как раз про ReactDOM.render
, так что это вывод или отрисовка. До «рендеринга» мы дойдем только с компонентами.
Но если это слишком сложно, я не против просто сделать render всегда рендером, а только paint отрисовкой.
Пропы как-то нелепо звучит. Пропсы, но проп — по-моему это ок, даже если и нелогично.
Есть маленький caveat в том что не все JSX-атрибуты становятся пропсами. Например
<div ref={foo} />
,ref
это атрибут но не проп. Потому что он резервирован реактом.
Вот как раз под атрибутом сразу подразумевается JSX... а вообще @maxfarseer помню пишет:
У каждого компонента могут быть свойства. Они хранятся в this.props, и передаются компоненту как атрибуты.
Т.е. атрибут - JSX, свойство - из JS, проп - всё это объединяет...
Есть маленький caveat в том что не все JSX-атрибуты становятся пропсами. Например
<div ref={foo} />
,ref
это атрибут но не проп. Потому что он резервирован реактом.
Да, не для всех возможных атрибутов Реакт компонента есть соответствующие HTML-атрибуты, но это не противоречит самой аналогии. Термин «атрибуты» выглядит меньшим злом чем «пропсы». Согласен, он вносит путаницу с JSX-атрибутами.
Не, я имею в виду, что JSX-атрибуты не все будут скопированы в this.props
, потому что ref-атрибут и key-атрибут резервные. Это не в HTML дело.
До «рендеринга» мы дойдем только с компонентами.
Казалось, что там ведь аналогично — отрисовка?
Атрибуты вносят всё-таки путаницу, а проспы однозначно определяет термин. Транслитерация не такое уж большое зло.
@lex111 Сорри, не понял.
Для таких вещей, как пропс, нужно сохранять максимальную идентичность оригиналу, потому что поисковики смогут транслитерировать запрос и выдавать англоязычные ресурсы вроде StackOverflow и GH Issues с решением проблемы
@lex111 Предлагаю такой компромисс для рендера https://github.com/reactjs/ru.reactjs.org/pull/13
@gaearon с пропсами ясно, мне всё же импонирует вариант отрисовка, и я вижу проблема с ним только, когда встречается термин из браузера — paint. Но это очень нечастый случай, или я никак не могу понять. Можешь, пожалуйста, на примерах пояснить?
Короче, все до это ошибались, когда использовали отрисовку, под этим имеется в виду процесс в браузере, верно? Но ведь в контексте React это не так важно, если речь не идёт именно про painting? Хотя возникает путаница, наверное...
Когнитивный диссонанс, наверное из-за него не могу привыкнуть к отрисовке, простите, давайте тогда и правда рендеринг :/
Но ведь в контексте React это не так важно, если речь не идёт именно про painting? Хотя возникает путаница, наверное...
Это не очень важно сейчас, но будет важно через полгода. Хочется лучше к этому подготовиться. ) В английском тоже сложно будет, но там это хоть два разных слова.
По поводу сверки и согласования. Сверка не совсем точное слово, потому что она подразумевает, что мы что-то сверяем (то есть, как бы ищем «ошибки»). Согласование на мой взгляд точнее, потому что процесс заключается в копировании изменений из одного источника в другой. Мы согласуем существующее дерево с источником. (Мы не сверяем потому что существующее дерево мы даже не читаем. Технически это больше похоже на репликацию.) Если что-то не совпадает, это не ошибка — это как раз-таки ожидаемое положение вещей.
Я не буду на этом настаивать, но мне кажется этот смысл точнее.
@gaearon хорошо бы статью по painting vs rendering, это было бы отлично... ок, давайте рендеринг использовать, хотя я всегда считал иначе, но видимо ошибался..
Считаю тогда разумным внести дополнение в словарь, развеять сомнения, внести ясность?
Я думаю, можно внести, хотя это всё-таки реактовое отклонение. В контексте общего веба наверное рендеринг является отрисовкой.
В английском та же проблема. Термин устоялся, но реакт его «перегрузил» другим значением, и уже слишком трудно поменять обратно.
Есть конечно вариант оставить его перегруженным и на русском. Но тогда нам нужно другое слово для собственно paint.
Paint тогда можно переводить как "отрисовка браузером", если он нечасто встречается.
хотя это всё-таки реактовое отклонение
Вот поэтому неплохо бы статью в блоге на этот счёт :)
Paint тогда можно переводить как "отрисовка браузером", если он нечасто встречается.
Как раз-таки да.
Хех. ОК, я не против отрисовки и «отрисовки браузером». Только как именно мы переведем этот фрагмент?
Although useEffect is deferred until after the browser has painted, it’s guaranteed to fire before any new renders. React will always flush a previous render’s effects before starting a new update.
Таймлайн для этого предложения:
Previous React render -> Previous browser paint -> Flushing previous effects -> React starts a new update -> React render
Вообще может это сигнал что все такие предложения надо переписывать как диаграммы.
С «пропсами» проблема - с одной стороны это «параметры» компонента, или «аргументы» функции, но с другой - после прочтения документации человек откроет код, и/или документацию thirdparty компонент, которая будет на английском, и шестеренки должны совпасть. Если называть некоторые вещи правильно с точки зрения русского языка - можно упустить главную цель документации - объяснить как применить её к документируемому объекту.
Путаница с рендерингом и отрисовкой всё же есть, если оба слова встречаются в одном предложении, даже если рендеринг использовать.
Путаницы совсем не избежать, но по крайней мере употребление одного и того же слова в одном и том же контексте поможет разобраться, когда понадобится.
Обсуждаем здесь любые вопросы, пожелания и предложения, связанные с руководством по переводу, включая перевод терминов и слов.