Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Перевод "introducing-jsx.md" на русский #17

Merged
merged 7 commits into from
Feb 9, 2019

Conversation

another-guy
Copy link
Collaborator

@another-guy another-guy commented Feb 9, 2019

Глядя на PR №2, предвижу море полезного фидбэка.

@tesseralis tesseralis mentioned this pull request Feb 9, 2019
88 tasks
@another-guy
Copy link
Collaborator Author

@gaearon @lex111 Следует ли мне изменить "дочерние элементы" на "потомки" (как в #11)? Решение тоже надо бы в глоссарий добавить.


```js{12}
function formatName(user) {
return user.firstName + ' ' + user.lastName;
}

const user = {
firstName: 'Harper',
lastName: 'Perez'
firstName: 'Марья',
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне кажется, что это хороший вариант, т.к. 1) культурно близок; 2) не "Василий Пупкин" с негативной армейской коннотацией; 3) более гендерно корректен, чем Иванов-Петров-Сидоров. Any thoughts on that?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне нра.

Copy link
Member

@gaearon gaearon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хорошее начало! Есть пара придирок которые надо бы поправить перед мёржем но в целом 👍


```js
const element = <h1>Hello, world!</h1>;
```

This funny tag syntax is neither a string nor HTML.
Этот странный синтаксис с тэгом не является ни строкой, ни фрагментом HTML.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хочу убрать «является». Слово-паразит в документации.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может быть:

Этот странный тэг — это ни строка, ни фрагмент HTML.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И тэг пишется в буквой е

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

О, интересно. ок

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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


It is called JSX, and it is a syntax extension to JavaScript. We recommend using it with React to describe what the UI should look like. JSX may remind you of a template language, but it comes with the full power of JavaScript.
Это JSX — расширение языка JavaScript. Мы рекомендуем использовать его, когда требуется объяснить React, как должен выглядеть пользовательский интерфейс. JSX напоминает язык шаблонов, наделённый силой JavaScript.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

«Когда требуется объяснить» немного деревянно. Предлагаю

Мы рекомендуем его использовать в React для описания UI.

(И предлагаю UI не переводить)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(И предлагаю UI не переводить)

Либо просто интерфейс?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ага, давай интерфейс

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Эм, я исправил на UI согласно глоссарию.


JSX produces React "elements". We will explore rendering them to the DOM in the [next section](/docs/rendering-elements.html). Below, you can find the basics of JSX necessary to get you started.
JSX производит "элементы" React. То как элементы рендерятся в DOM, мы изучим в [следующем разделе](/docs/rendering-elements.html), а ниже вы найдёте основы JSX, необходимые для начала работы.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сайт вставит кавычки-ёлочки? Надо проверить.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

«основы, необходимые для начала работы» немножко деревянно

Можно:

Ниже мы рассмотрим основы JSX, которые нужно знать начинающему.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сайт вставит кавычки-ёлочки? Надо проверить.

А как он может вставить их автоматически? Хотя лучше их в исходниках сразу указывать.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В английской версии у нас "" меняются на “” форматтером. Но я проверил, что кириллицу он не понимает.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может его можно расширить? Хотя нетрудно проставить кавычки-ёлочки потом, где упустили.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, в идеале надо бы сделать. Создам issue

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#35


React embraces the fact that rendering logic is inherently coupled with other UI logic: how events are handled, how the state changes over time, and how the data is prepared for display.
React исходит из того факта, что логика рендеринга неразрывно связана с прочей логикой интерфейса: с тем, как обрабатываются события, как состояние изменяется во времени и как данные подготавливаются к отображению.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

«Подготавливаются» => «готовятся»

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может быть «исходит из принципа»

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Так перевёл, потому что мне "готовятся" слышится как "готовят сами себя", а "подготавливаются" -- неопределённо, кем именно. Но, я думаю, это не принципиально, поэтому исправлю.


React [doesn't require](/docs/react-without-jsx.html) using JSX, but most people find it helpful as a visual aid when working with UI inside the JavaScript code. It also allows React to show more useful error and warning messages.
React [не принуждает вас](/docs/react-without-jsx.html) использовать JSX, но большинство людей ценит его за наглядность при работе с интерфейсом, живущем в JavaScript коде. Помимо этого, JSX помогает React делать сообщения об ошибках и предупреждениях более осмысленными.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Более понятными

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

«Не принуждает» как-то жестко, может

React можно использовать и без JSX


```js{12}
function formatName(user) {
return user.firstName + ' ' + user.lastName;
}

const user = {
firstName: 'Harper',
lastName: 'Perez'
firstName: 'Марья',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне нра.

const element = <h1>{title}</h1>;
```

By default, React DOM [escapes](http://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) any values embedded in JSX before rendering them. Thus it ensures that you can never inject anything that's not explicitly written in your application. Everything is converted to a string before being rendered. This helps prevent [XSS (cross-site-scripting)](https://en.wikipedia.org/wiki/Cross-site_scripting) attacks.
По умолчанию, React DOM [экранирует](http://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) все значения, включённые в JSX до того как отрендерить их. Это гарантирует, что вы никогда не внедрите чего-либо, что не было явно написано в вашем приложении. Всё преобразуется в строчки, перед тем как быть отрендеренным. Это помогает предотвращать атаки [межсайтовым скриптингом (XSS)](https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

«Всё... быть отререндеренным»

Как-то не читается. Может быть «перед рендерингом»

@@ -175,10 +175,10 @@ const element = {
};
```

These objects are called "React elements". You can think of them as descriptions of what you want to see on the screen. React reads these objects and uses them to construct the DOM and keep it up to date.
Эти объекты называются React элементами. Вы можете воспринимать их как описание того, что бы вы хотели увидеть на экране. React читает эти объекты и искользует их, чтобы конструировать и поддерживать DOM.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

«можете воспринимать» как-то очень царски, может быть:

Можно сказать, что они описывают результат, который мы хотим увидеть на экране.

@another-guy another-guy merged commit 7697e89 into master Feb 9, 2019
@another-guy
Copy link
Collaborator Author

Все озвученные замечания исправил. Когда обнаружим пропущенные шероховатости — исправим в отдельном PR.

@another-guy another-guy deleted the another-guy/introducing-jsx branch February 9, 2019 21:49
@gaearon gaearon mentioned this pull request Feb 12, 2019
@another-guy another-guy added the needs proofread A read-through is still needed to release the document label Feb 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs proofread A read-through is still needed to release the document
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants