reactjs / ru.react.dev

React documentation website in Russian / Официальная русская версия сайта React
https://ru.react.dev
Creative Commons Attribution 4.0 International
678 stars 380 forks source link

Перевод слов state и node #849

Closed gcor closed 1 year ago

gcor commented 1 year ago

@gaearon @ntishkevich есть несколько вопросов про глоссарий, подскажите пожалуйста.

state — может быть использовать в этот раз слово "стейт", а не "состояние"? Кажется, формулировка "стейт" прижилась так же как и "пропсы". Как будто "стейт" это термин, а не просто какое-то "состояние".

node — узел? Но, кажется, редко так его называют. Интересный пример: <Fragment>, often used via <>...</> syntax, lets you group elements without a wrapper node. <Fragment>, часто используемый как <>...</>, позволяет группировать элементы без создания дополнительного тега (или ноды, узла-обёртки, элемента?)

Hellnar commented 1 year ago

Хороший вопрос по поводу state. В моем понимании, поскольку документация в первую очередь для начинающих (которые обычно приходят после JS и не работали со стейтом раньше), то перевод "состояние" будет для начинающих более понятным. Но в то же время "props" уже есть в глоссарии как "пропс". Поэтому согласно такой структуре "state" я бы тоже добавил как "стейт".

По поводу node - интересно, что MDN часто не переводят ноды, а оставляют слово на английском. Но во многих местах также встречаются определения "узел" или "коллекция узлов" (nodeList). Поэтому для синхрона с MDN я думаю перевод "узел" - самый подходящий вариант.

В случае с переводом страницы Fragment я поддерживаю вариант "без создания дополнительного тега" (или элемента).

ntishkevich commented 1 year ago

Касаемо state, на мой взгляд, как переводили состояние, так и стоит продолжать. Это распостраненный термин применяемый в целом в компонентном подходе, например, Open State у <details> и веб-сервисы, которые также могут хранить состояние stateful и stateless.

Среди типов узлов DOM есть такой тип DocumentFragment, на мой взгляд, Fragment в React как раз схожи по смыслу с DocumentFragment. И ведь они явно не представлены какими-то тэгами в разметке, поэтому я бы придерживался перевода узел.

gcor commented 1 year ago

Если бы я объяснял простыми словами стейт, то я бы сказал — «стейт в реакте нужен для работы с состоянием». Сейчас как будто выходит «состояние в реакте нужно для работы с состоянием»

Ещё примеры

titovmx commented 1 year ago

Поправьте, если не прав, но кажется стейт-машина по-русски - это конечный автомат. Слово "состояние" используется в любой литературе, связанной с теорией автоматов. Мне кажется, в нашем контексте смысл близкий и тащить англицизм не стоит.

ntishkevich commented 1 year ago

Поправьте, если не прав, но кажется стейт-машина по-русски - это конечный автомат. Слово "состояние" используется в любой литературе, связанной с теорией автоматов. Мне кажется, в нашем контексте смысл близкий и тащить англицизм не стоит.

@titovmx Все так и про State Machine и про слово "состояние" как перевод state.

@gcor На хабре тоже хватает статей со словом "состояние", поэтому как аргумент не подходит. Во-первых, касаемо объяснения state простыми словами, я скажу, что объяснение надо начинать с того, что термин общий, как я ранее и писал. Во-вторых, исходя из твоих предложений не переводить state как состояние и получаем - Стейт нужен в React для работы стейтом и это уже масло масленое.

gcor commented 1 year ago

исходя из твоих предложений не переводить state как состояние и получаем - Стейт нужен в React для работы стейтом и это уже масло масленое

@ntishkevich, моё предложение — «стейт в реакте нужен для работы с состоянием», а не «состояние в реакте нужно для работы с состоянием»

кажется, что стейт это такой же термин как и пропс, а состояние это просто слово, такое же как и слово свойства.

ntishkevich commented 1 year ago

исходя из твоих предложений не переводить state как состояние и получаем - Стейт нужен в React для работы стейтом и это уже масло масленое

@ntishkevich, моё предложение — «стейт в реакте нужен для работы с состоянием», а не «состояние в реакте нужно для работы с состоянием»

кажется, что стейт это такой же термин как и пропс, а состояние это просто слово, такое же как и слово свойства.

Состояние этот как раз таки термин. Упомянутые тобою конечные автоматы имеют конечное множество состояний и здесь состояния не просто слово красивое, а конкретный термин с его значением, к примеру, взял ссылку с вики

Как я уже в говорил неоднократно, состояние, а это тот же стейт, и термин выше тоже сюда относится, это так не только для React, например, State Management (управление состоянием), шаблон проектирования "Состояние" или Application State (состояние приложения).