|
4 | 4 |
|
5 | 5 | Пожалуйста, используйте этот ишью, если вы хотите что-то перевести и узнать.
|
6 | 6 |
|
| 7 | +## Оглавление |
| 8 | + |
| 9 | +* [Перевод на русский язык сайта reactjs.org](#Перевод-на-русский-язык-сайта-reactjsorg) |
| 10 | + * [Оглавление](#Оглавление) |
| 11 | + * [Общие правила](#Общие-правила) |
| 12 | + * [Слово живое и мёртвое](#Слово-живое-и-мёртвое) |
| 13 | + * [Универсальное руководство по стилю](#Универсальное-руководство-по-стилю) |
| 14 | + * [Идентификаторы заголовков](#Идентификаторы-заголовков) |
| 15 | + * [Текст в блоках кода](#Текст-в-блоках-кода) |
| 16 | + * [Внешние ссылки](#Внешние-ссылки) |
| 17 | + * [Соглашение по переводу (глоссарий)](#Соглашение-по-переводу-глоссарий) |
| 18 | + |
7 | 19 | ## Общие правила
|
8 | 20 |
|
9 | 21 | - _Вы_ и его производные пишите с маленькой буквы
|
10 |
| -- Всегда используйте букву `ё` |
| 22 | +- Всегда используйте букву `ё` (это легко соблюдать с помощью [данного npm-пакета](https://github.com/hcodes/eyo)) |
11 | 23 | - Используйте тире вместо дефиса (оно должно быть намного длиннее, чем дефис). Тире: `—`, дефис: `-`
|
12 | 24 | - Переводите комментарии в примерах кода, но не содержимое
|
13 | 25 | - Используйте терминологию [словаря «Веб-стандартов»](https://github.com/web-standards-ru/dictionary), если нет исходного варианта в таблице ниже
|
14 | 26 | - Ссылки на ресурсы (MDN, Wikipedia) должны вести на русскую версию, если есть соответствующий перевод.
|
15 | 27 | - Иностранные имена переводите с указанием оригинального имени в скобках: _Дэн Абрамов (Dan Abramov)_. При этом обязательно проверьте уже существующий перевод имени в [словаре имён «Веб-стандартов»](https://github.com/web-standards-ru/dictionary/blob/master/names.md)
|
| 28 | +- Не переводите наименования компаний (Facebook, Airbnb), библиотек (Jest, Enzyme) и т.д. |
| 29 | +- Не переводите аббревиатуры (API, DOM, HOC, UI). |
16 | 30 | - Исключайте отсылки на пол читателя (см. секцию 3 на [этой странице](http://www.un.org/ru/gender-inclusive-language/guidelines.shtml))
|
17 | 31 | - Названия статей и заголовки пишутся с одной заглавной буквы («Компоненты и пропсы», не «Компоненты и Пропсы»).
|
18 | 32 |
|
19 |
| -## Слово живое и мёртвое |
| 33 | +### Слово живое и мёртвое |
20 | 34 |
|
21 | 35 | Прежде чем переводить, почитайте пару страниц из «Слова живого и мёртвого» Норы Галь. Хотя бы эти две:
|
22 | 36 |
|
|
33 | 47 | * **Деревянно:** *будет рассказано*
|
34 | 48 | * **Живо:** *мы узнаем*
|
35 | 49 |
|
| 50 | +**Предпочитайте простые слова (за исключением терминологии ниже):** |
| 51 | + |
| 52 | +* **Деревянно:** *демонстрирует* |
| 53 | +* **Живо:** *показывает* |
| 54 | + |
36 | 55 | Чтобы избежать кальки, можно брать смысл предложения, а потом перефразировать так, как объясняли бы старшему коллеге. Если предложение звучит нелепо вслух, то его надо переписать. Например:
|
37 | 56 |
|
38 | 57 | **Оригинал:** *React has been designed from the start for gradual adoption, and you can use as little or as much React as you need.*
|
|
43 | 62 |
|
44 | 63 | Небольшие вольности в переводе допускаются, но только если они помогают передать смысл. Перевод не должен быть ни деревянным, ни фамильярным. Истина где-то посередине.
|
45 | 64 |
|
46 |
| -## Соглашение по переводу |
| 65 | +## Универсальное руководство по стилю |
| 66 | + |
| 67 | +Описанные ниже правила пришли [из репозитория](https://github.com/reactjs/reactjs.org-translation/blob/master/style-guide.md), предписывающего стиль общий для **всех** языков, на которые переводится документация. |
| 68 | + |
| 69 | +### Идентификаторы заголовков |
| 70 | + |
| 71 | +Каждый заголовок имеет явный идентификатор: |
| 72 | + |
| 73 | +```md |
| 74 | +## Try React {#try-react} |
| 75 | +``` |
| 76 | + |
| 77 | +**НЕ** переводите такие идентификаторы! Они используются для навигации. Изменение идентификатора неизбежно приведёт к поломке, если на документ ссылкаются извне, например так: |
| 78 | + |
| 79 | +```md |
| 80 | +Прочтите [главу для начинающих](/getting-started#try-react), чтобы узнать больше. |
| 81 | +``` |
| 82 | + |
| 83 | +✅ Можно: |
| 84 | + |
| 85 | +```md |
| 86 | +## Попробуйте React {#try-react} |
| 87 | +``` |
| 88 | + |
| 89 | +❌ НЕЛЬЗЯ: |
| 90 | + |
| 91 | +```md |
| 92 | +## Попробуйте React {#попробуйте-react} |
| 93 | +``` |
| 94 | + |
| 95 | +Это сломает ссылку, приведённую в примере выше. |
| 96 | + |
| 97 | +### Текст в блоках кода |
| 98 | + |
| 99 | +Не переводите текст в блоках кода, кроме комментариев. А вот комментарии и текст в строках следует переводить, если они не относятся к коду. |
| 100 | + |
| 101 | +Пример: |
| 102 | +```js |
| 103 | +// Example |
| 104 | +const element = <h1>Hello, world</h1>; |
| 105 | +ReactDOM.render(element, document.getElementById('root')); |
| 106 | +``` |
| 107 | + |
| 108 | +✅ МОЖНО: |
| 109 | + |
| 110 | +```js |
| 111 | +// Пример |
| 112 | +const element = <h1>Hello, world</h1>; |
| 113 | +ReactDOM.render(element, document.getElementById('root')); |
| 114 | +``` |
| 115 | + |
| 116 | +✅ ТОЖЕ МОЖНО: |
| 117 | + |
| 118 | +```js |
| 119 | +// Пример |
| 120 | +const element = <h1>Здравствуй, мир!</h1>; |
| 121 | +ReactDOM.render(element, document.getElementById('root')); |
| 122 | +``` |
| 123 | + |
| 124 | +❌ НЕЛЬЗЯ: |
| 125 | + |
| 126 | +```js |
| 127 | +// Пример |
| 128 | +const element = <h1>Здравствуй, мир!</h1>; |
| 129 | +// "root" ссылается на идентификатор элемента. |
| 130 | +// Не переводите его! |
| 131 | +ReactDOM.render(element, document.getElementById('корень')); |
| 132 | +``` |
| 133 | + |
| 134 | +❌ СОВСЕМ НЕЛЬЗЯ: |
| 135 | + |
| 136 | +```js |
| 137 | +// Пример |
| 138 | +пост элемент = <з1>Здравствуй, мир!</з1>; |
| 139 | +РеактДОМ.отрендери(элемент, документ.получиЭлементПоАйди('корень')); |
| 140 | +``` |
| 141 | + |
| 142 | +### Внешние ссылки |
| 143 | + |
| 144 | +Если внешняя ссылка ведёт к статье на [MDN] или [Wikipedia], и там существует статья на русском языке, исправьте ссылку, чтобы она указывала на русский вариант, даже если он неполный или требует улучшения. |
| 145 | + |
| 146 | +[MDN]: https://developer.mozilla.org/en-US/ |
| 147 | +[Wikipedia]: https://en.wikipedia.org/wiki/Main_Page |
| 148 | + |
| 149 | +Пример: |
| 150 | + |
| 151 | +```md |
| 152 | +React elements are [immutable](https://en.wikipedia.org/wiki/Immutable_object). |
| 153 | +``` |
| 154 | + |
| 155 | +✅ OK: |
| 156 | + |
| 157 | +```md |
| 158 | +Элементы React [иммутабельны](https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC%D1%8B%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82). |
| 159 | +``` |
| 160 | + |
| 161 | +Для ссылок, у которых нету языковых эквивалентов (Stack Overflow, видео на YouTube, и т. д.), просто оставьте оригинальный вариант как есть. |
| 162 | + |
| 163 | +## Соглашение по переводу (глоссарий) |
| 164 | + |
| 165 | +**Пожалуйста, поддерживайте глоссарий в алфавитном порядке.** |
47 | 166 |
|
48 | 167 | | Оригинальный термин | Перевод |
|
49 | 168 | | ------------------ | ---------- |
|
| 169 | +| API reference | справочник API | |
50 | 170 | | array | массив |
|
51 | 171 | | arrow function | стрелочная функция |
|
| 172 | +| attribute | атрибут | |
| 173 | +| batch | группа обновлений | |
| 174 | +| batching | группировка | |
| 175 | +| bind | привязка | |
52 | 176 | | bug | баг, дефект |
|
53 | 177 | | bundler | бандлер |
|
54 | 178 | | callback | колбэк |
|
55 | 179 | | camelCase | *camelCase* |
|
| 180 | +| child | дочерний | |
| 181 | +| child component | дочерний компонент | |
| 182 | +| class component | классовый компонент | |
| 183 | +| cleanup | сброс (*напр., сбрасываемый эффект, сбросить эффект, сбрасывающая функция*) | |
| 184 | +| code splitting | разделение кода | |
| 185 | +| codemod | codemod-скрипт | |
| 186 | +| commit | фиксация | |
| 187 | +| context | контекст | |
56 | 188 | | (un)controlled component | (не)контролируемый компонент |
|
| 189 | +| cross-cutting concerns | cквозная функциональность | |
| 190 | +| custom | пользовательский (*напр., пользовательские хуки*) | |
57 | 191 | | debugging | отладка |
|
| 192 | +| destructuring | деструктуризация | |
| 193 | +| development | разработка | |
| 194 | +| development mode | режим разработки | |
| 195 | +| developer tools | инструменты разработки | |
| 196 | +| display name | отображаемое имя | |
58 | 197 | | DOM container | DOM-контейнер |
|
| 198 | +| effect | эффект | |
59 | 199 | | error | ошибка |
|
60 |
| -| debugging | отладка | |
| 200 | +| error boundary | предохранитель | |
| 201 | +| escape hatch | лазейка (*напр., императивные лазейки*) | |
| 202 | +| fallback | запасной | |
| 203 | +| feature | возможность (*менее предпочтительный синоним: функциональность*) | |
| 204 | +| folder | папка | |
61 | 205 | | framework | фреймворк |
|
62 |
| -| functional component | функциональный компонент | |
63 |
| -| hook | хук | |
| 206 | +| function component | функциональный компонент | |
| 207 | +| helper | вспомогательный(ая); *напр., helper function — вспомогательная функция* | |
| 208 | +| Higher-Order Component(s) | Компонент(ы) высшего порядка | |
| 209 | +| hook | хук *(с маленькой буквы)* *(напр., хук эффекта, хук контекста)* | |
| 210 | +| incapsulation | инкапсуляция | |
| 211 | +| incapsulated | инкапсулированный | |
64 | 212 | | key | ключ |
|
65 | 213 | | lazy initialization | ленивая инициализация |
|
66 | 214 | | library | библиотека |
|
| 215 | +| lifecycle | жизненный цикл | |
| 216 | +| lifecycle method | метод жизненного цикла | |
67 | 217 | | lifting state up | подъём состояния, поднимать состояние |
|
| 218 | +| local state | внутреннее состояние | |
68 | 219 | | lowercase | нижний регистр |
|
| 220 | +| mixin | примесь | |
69 | 221 | | mock | фиктивный |
|
70 | 222 | | (im)mutable | (им)мутабельный |
|
71 | 223 | | (im)mutability | (им)мутабельность |
|
| 224 | +| (un)mount | (раз)монтирование | |
72 | 225 | | mutate | мутировать |
|
| 226 | +| native | нативный | |
73 | 227 | | Note | Примечание |
|
| 228 | +| online | онлайн | |
| 229 | +| online playground | онлайн-песочница | |
74 | 230 | | paint | отрисовка, перерисовка |
|
75 |
| -| props | пропсы | |
76 |
| -| reuse | повторное использование, переиспользование | |
| 231 | +| persistent | персистентность, персистентный | |
| 232 | +| phase | этап (*напр., этап рендеринга, этап фиксации*) | |
| 233 | +| prop | проп *(ед. ч.)* | |
| 234 | +| props | пропсы *(мн. ч.)* | |
| 235 | +| production | продакшен | |
| 236 | +| production mode | продакшен-режим | |
77 | 237 | | React | React |
|
78 | 238 | | React element | React-элемент, элемент React |
|
79 | 239 | | reconciliation | согласование |
|
| 240 | +| reducer | редюсер | |
| 241 | +| ref | реф *(ед. ч.)* | |
| 242 | +| refs | рефы *(мн. ч.)* | |
| 243 | +| ref forwarding | перенаправление рефа | |
80 | 244 | | render(ing) | рендер, рендерить, отрендерить |
|
| 245 | +| renderer | рендерер (*напр., поверхностный рендерер*) | |
81 | 246 | | re-render(ing) | (по контексту) рендер, повторный рендер, последующий рендер, отрендерить снова |
|
82 |
| -| ref | реф | |
| 247 | +| render prop | рендер-проп *(ед. ч.)* | |
| 248 | +| render props | рендер-пропсы *(мн. ч.)* | |
| 249 | +| reuse | повторное использование, переиспользование | |
| 250 | +| (previous/next) section | (предыдущая/следующая) глава *(только в разделе Основные понятия)* | |
| 251 | +| shallow | поверхностное (сравнение, равенство), поверхностный (рендеринг) | |
| 252 | +| side effect | побочный эффект | |
| 253 | +| snapshot | снимок | |
83 | 254 | | state | состояние |
|
| 255 | +| stateful component | компонент с состоянием | |
| 256 | +| stateless component | компонент без состояния | |
| 257 | +| suspense | задержка | |
| 258 | +| tag | тег | |
84 | 259 | | template literals | шаблонные строки |
|
| 260 | +| Tip | Совет | |
| 261 | +| TLDR | Вкратце | |
| 262 | +| Try it on CodePen | Посмотреть на CodePen | |
| 263 | +| tutorial | введение | |
| 264 | +| unidirectional data flow | однонаправленный поток данных | |
| 265 | +| UI | UI | |
| 266 | +| update | обновление | |
| 267 | +| user interface | интерфейс (добавляйте «пользовательский» только если по контексту непонятно) | |
| 268 | +| Warning | Предупреждение | |
0 commit comments