Ukrainian Translation Progress
iliakan opened this issue · 333 comments
Maintainer List
For New Translators
Please read this first (click to open)
To translate an article:
- Check that no one else has claimed your article in the checklist below.
- Comment below with the title of the article that you would like to translate, exactly as listed, e.g.
An Introduction to JavaScript.- Please take only one article at a time.
- Fork this repo, translate the article in your fork and submit a pull request!
- The pull request title should be same as the article, e.g.
An Introduction to JavaScript(just like comment)
- The pull request title should be same as the article, e.g.
Please be prompt with your translations! If you find that you can't commit any more, let maintainers know so they can assign the page to someone else.
For Maintainers
Click to open
We recommend that a translation has 2 reviews to be merged.
Please let others know what you do, on community boards and chats, invite them to join. Translations become better if more people see them.
Translations are tracked below, like this:
Our helpful bot watches comments and adds the translator nick and PR id, marks completed, when PR is merged. You can read the details at https://javascript.info/translate/bot.
If something doesn't work right, please contact @iliakan.
Team translation
More details about team translation: https://javascript.info/translate/bot.
Only maintainers can check/uncheck items below. If you're not, please write in a comment what you take to translate, the title, exactly as in the list.
The JavaScript language
An introduction
- An Introduction to JavaScript (@tarasyyyk)
- Manuals and specifications (@tarasyyyk)
- Code editors (@tarasyyyk)
- Developer console (@tarasyyyk)
JavaScript Fundamentals
- Hello, world! (@dDenysS) #3
- Code structure (@tarasyyyk) #25
- The modern mode, "use strict" (@tarasyyyk) #5
- Variables (@tarasyyyk) #14
- Data types (@Zim123) #12
- Interaction: alert, prompt, confirm (@Zim123) #23
- Type Conversions (@Zim123) #15
- Basic operators, maths (@Zim123) #19
- Comparisons (@tarasyyyk) #18
- Conditional branching: if, '?' (@Zim123) #28
- Logical operators (@Zim123) #34
- Nullish coalescing operator '??' (@MykolaSopiha) #220
- Loops: while and for (@tarasyyyk, @dDenysS) #77, #78, #190
- The "switch" statement (@lobanov-oleh) #42
- Functions (@hypeofpipe, @tarasyyyk) #127, #144
- Function expressions (@Tuoris) #48
- Arrow functions, the basics (@Tuoris) #48
- JavaScript specials (@tarasyyyk) #40
Code quality
- Debugging in the browser (@tarasyyyk) #54
- Coding Style (@alexgalkin) #59
- Comments (@alexgalkin) #60
- Ninja code (@alexgalkin) #61
- Automated testing with Mocha (@alexgalkin) #63
- Polyfills and transpilers (@alexgalkin, @tarasyyyk) #75, #195
Objects: the basics
- Objects (@Regnised) #184
- Object references and copying (@dolgachio) #142
- Garbage collection (@dolgachio) #197
- Object methods, "this" (@MykolaSopiha) #151
- Constructor, operator "new" (@hordiienko-tatiana) #172
- Optional chaining '?.' (@didostap) #146
- Symbol type (@Tarkeasy) #149
- Object to primitive conversion (@MykolaSopiha) #154
Data types
- Methods of primitives (@stevermeister) #10
- Numbers (@alexandrtovmach) #62
- Strings (@gingano) #230
- Arrays (@ArtemZununov) #115
- Array methods (@Regnised) #192
- Iterables (@MykolaSopiha) #196
- Map and Set (@Regnised) #148
- WeakMap and WeakSet (@MykolaSopiha) #162
- Object.keys, values, entries (@chizzzy) #155
- Destructuring assignment (@hordiienko-tatiana) #222
- Date and time (@MykolaSopiha) #168
- JSON methods, toJSON (@MykolaSopiha) #186
Advanced working with functions
- Recursion and stack (@MykolaSopiha) #201
- Rest parameters and spread syntax (@MariaTar) #188
- Variable scope, closure (@dolgachio) #219
- The old "var" (@chizzzy) #171
- Global object (@Regnised) #166
- Function object, NFE (@MykolaSopiha) #198
- The "new Function" syntax (@MykolaSopiha) #199
- Scheduling: setTimeout and setInterval (@hordiienko-tatiana) #187
- Decorators and forwarding, call/apply (@MykolaSopiha) #200
- Function binding (@Vanchurick) #203
- Arrow functions revisited (@chizzzy) #178
Object properties configuration
- Property flags and descriptors (@MykolaSopiha) #204
- Property getters and setters (@MykolaSopiha) #206
Prototypes, inheritance
- Prototypal inheritance (@VolodymyrSSS) #167
- F.prototype (@VolodymyrSSS) #194
- Native prototypes (@MykolaSopiha) #250
- Prototype methods, objects without proto (@Vanchurick) #215
Classes
- Class basic syntax (@MykolaSopiha) #207
- Class inheritance (@MykolaSopiha) #218
- Static properties and methods (@Nordtonito) #212
- Private and protected properties and methods (@MykolaSopiha) #252
- Extending built-in classes (@Nordtonito) #214
- Class checking: "instanceof" (@dolgachio) #227
- Mixins (@MykolaSopiha) #241
Error handling
Promises, async/await
- Introduction: callbacks (@Nordtonito) #253
- Promise (@didostap) #160
- Promises chaining (@hordiienko-tatiana) #259
- Error handling with promises (@AntonBurchak) #231
- Promise API (@Nordtonito) #217
- Promisification (@Regnised) #229
- Microtasks (@Nordtonito) #223
- Async/await (@Nordtonito) #221
Generators, advanced iteration
Modules
- Modules, introduction (@Regnised) #239
- Export and Import (@Purusah) #242
- Dynamic imports (@AntonBurchak) #234
Miscellaneous
- Proxy and Reflect (@Nordtonito) #245
- Eval: run a code string (@Regnised) #240
- Currying (@AntonBurchak) #257
- Reference Type (@MykolaSopiha) #254
- BigInt (@gingano) #238
- Unicode, String internals (@vitaliimalynka) #509
- WeakRef and FinalizationRegistry
Browser: Document, Events, Interfaces
Document
- Browser environment, specs (@MykolaSopiha) #243
- DOM tree (@MykolaSopiha) #249
- Walking the DOM (@dolgachio) #328
- Searching: getElement*, querySelector* (@Nordtonito) #246
- Node properties: type, tag and contents (@MykolaSopiha) #260
- Attributes and properties (@MykolaSopiha) #265
- Modifying the document (@malechaneit) #299
- Styles and classes (@AdriandeCita) #296
- Element size and scrolling (@80001)
- Window sizes and scrolling (@jeneg) #279
- Coordinates (@jeneg) #305
Introduction to Events
- Introduction to browser events (@Regnised)
- Bubbling and capturing (@Neschadin) #495
- Event delegation (@OlhaBrozhenets) #262
- Browser default actions (@OlhaBrozhenets) #264
- Dispatching custom events (@OlhaBrozhenets) #268
UI Events
- Mouse events (@OlhaBrozhenets) #274
- Moving the mouse: mouseover/out, mouseenter/leave (@dolgachio)
- Drag'n'Drop with mouse events (@AntonBurchak) #322
- Pointer events (@OlhaBrozhenets) #291
- Keyboard: keydown and keyup (@OlhaBrozhenets) #293
- Scrolling (@OlhaBrozhenets) #295
Forms, controls
- Form properties and methods (@jeneg) #308
- Focusing: focus/blur (@malechaneit)
- Events: change, input, cut, copy, paste (@OlhaBrozhenets) #297
- Forms: event and method submit (@OlhaBrozhenets) #298
Document and resource loading
- Page: DOMContentLoaded, load, beforeunload, unload (@OlhaBrozhenets) #303
- Scripts: async, defer (@Nordtonito) #273
- Resource loading: onload and onerror (@OlhaBrozhenets) #304
Miscellaneous
- Mutation observer (@AdriandeCita) #372
- Selection and Range (@dolgachio) #606
- Event loop: microtasks and macrotasks (@georgyna) #513
Frames and windows
- Popups and window methods (@OlhaBrozhenets) #307
- Cross-window communication (@OlhaBrozhenets) #316
- The clickjacking attack (@astropsy999) #343
Binary data, files
- ArrayBuffer, binary arrays (@Purusah) #248
- TextDecoder and TextEncoder (@Purusah) #256
- Blob (@Purusah) #270
- File and FileReader (@Purusah) #301
Network requests
- Fetch (@q587p) translation request
- FormData (@Regnised) #247
- Fetch: Download progress (@Nordtonito) #294
- Fetch: Abort (@Nordtonito) #306
- Fetch: Cross-Origin Requests (@Nordtonito) #382
- Fetch API (@Nordtonito) #430
- URL objects (@Purusah) #323
- XMLHttpRequest (@jeneg) #310
- Resumable file upload (@jeneg) #312
- Long polling (@jeneg) #313
- WebSocket (@jeneg) #485
- Server Sent Events (@astropsy999) #342
Storing data in the browser
- Cookies, document.cookie (@malechaneit)
- LocalStorage, sessionStorage (@AntonBurchak) #325
- IndexedDB (@astropsy999) #336
Animation
Web components
- From the orbital height (@yugako) #337
- Custom elements (@jeneg) #511
- Shadow DOM (@so-tati) #510
- Template element (@Lelihelija) #351
- Shadow DOM slots, composition (@kolumb) #381
- Shadow DOM styling (@SamGreenberg) #418
- Shadow DOM and events (@so-tati) #549
Regular expressions
- Patterns and flags (@bromotdi) #488
- Character classes (@AntonBurchak)
- Unicode: flag "u" and class \p{...} (@lanachayka) #374
- Anchors: string start ^ and end $ (@git-antonyuk) #376
- Multiline mode of anchors ^ $, flag "m" (@bromotdi) #492
- Word boundary: \b (@vitaliimalynka) #424
- Escaping, special characters (@AntonBurchak)
- Sets and ranges [...] (@MrsMelnychenko) #421
- Quantifiers +, *, ? and {n} (@MrsMelnychenko) #419
- Greedy and lazy quantifiers (@SamGreenberg) #450
- Capturing groups (@SamGreenberg) #441
- Backreferences in pattern: \N and \k<name> (@vitaliimalynka) #449
- Alternation (OR) | (@vladiuskor)
- Lookahead and lookbehind (@MrsMelnychenko) #439
- Catastrophic backtracking (@SamGreenberg) #444
- Sticky flag "y", searching at position (@lanachayka)
- Methods of RegExp and String (@SamGreenberg) #445
I'll take JavaScript Fundamentals > Variables
And I'd like to take "JavaScript Fundamentals > Hello, world!"
This article already translating by another contributor: #3
Please, choose another article. Thanks!
@tarasyyyk you just broke my motivation to translate anything.
RTFM - https://github.com/javascript-tutorial/uk.javascript.info
@stevermeister sorry, my bad.
I updated comment above with corresponding links to issues.
@tarasyyyk
I see, ok, I'm taking "JavaScript Fundamentals > Data types"
ok, I'll take
Data types > Methods of primitives
@iliakan @tarasyyyk
Hello guys.
I wanted to save some translation progress by pushing my branch to repo. It asked me to enter my login/password, even I had set up my ssh key though. I entered and got next error:
Username for 'https://github.com': zim123
Password for 'https://zim123@github.com':
remote: Permission to javascript-tutorial/uk.javascript.info.git denied to Zim123.
fatal: unable to access 'https://github.com/javascript-tutorial/uk.javascript.info/': The requested URL returned error: 403
I assume I need some permissions in order to push my changes.
Hi @Zim123. You can fork this repo and then make pull request with your changes from your forked repo to this one.
Here is detailed instruction: https://help.github.com/en/articles/fork-a-repo
@tarasyyyk
I'm ready to proceed further: JavaScript Fundamentals -> Type Conversions
@tarasyyyk
May I :)
JavaScript Fundamentals > Operators
@Zim123 yes, sure! :)
Create an issue so I can mark it in comment above.
Thanks for your contribution!
Hello! Can I take something?
@hypeofpipe yes, sure. You can take any untranslated items you want.
I would recommend you to take The "switch" statement, because Loops: while and for is very long.
Just read README in this repo, create an issue like these, and start translating.
Hello. I will take JavaScript Fundamentals >Loops: while and for. Should the smart header be translated?
Should the
smart headerbe translated?
@dDenysS I added some explanations about this to Translation recommendatins.
Hello :-)
I will take JavaScript Fundamentals >The "switch" statement.
Hello, I'll take JS Fundamentals > Functions
Hi, I'm taking Function expressions and arrows
I will take
JavaScript Fundamentals >Loops: while and for
@dDenysS Hi. Any progress with it?
Hello, I'll take
JS Fundamentals > Functions
@hypeofpipe Hello. Any progress with it?
Going to take this part to translate: Advanced working with functions
@ivanstnsk it's a huge chapter of tutorial. Are you going to translate the first part: Recursion and stack ?
@tarasyyyk yes let's start from the first part Recursion and Stack!
I may take "Coding Style" section
I may take the "Comments" section also.
@alexgalkin join our organization! :)
@alexgalkin great! I added you to Maintainer list.
I will also take "Ninja code" section. I will create PR for Comments later today.
PR for "Ninja code" is ready. I will take "Automated testing with mocha" next.
hey guys,
- Why you're speaking in clearly Ukrainian repository in English?
- I'd like to translate Data types/Numbers
- Why you're speaking in clearly Ukrainian repository in English?
практикуємо англійську :)
в коментарях почали писати англійською, та й я вже підхопив. В Глосарії спілкуємося українською :). Тут немає суворих правил, якою мовою писати (але бажано тією, яку будуть розуміти ті, хто захоче брати участь в перекладі)
2. I'd like to translate Data types/Numbers
ok, updated first comment with your request.
і хоча мені ще "testing with mocha" треба перекладати, прохання "Polyfills" також залишити мені, щоб розділ було завершено.
пул реквест для "Automated testing with mocha" готовий для перевірки.
я почну перекладати "Polyfills" на вихідних.
Я тоді піду далі по типах даних:
Data types/Strings
Hi, @dDenysS. Please, make PR with your changes to "Loops".
I'll complete translation later if you haven't time for it.
PR for "Polyfills" is ready. I am going to take "Objects" next. That might take more time...
@alexgalkin great, you're doing well with translation!
You can take a little break before translating "Objects" chapter because it huge.
Hi, @dDenysS. Please, make PR with your changes to "Loops".
I'll complete translation later if you haven't time for it.
Hi, @tarasyyyk. PR was made
Hi, i will take Data types/Arrays
@ArtemZununov great!
Hi
Pull Request of chapter Data types/Arrays are opened and waiting for check
Чи є в нас якісь правила щодо заявок, які дещо загальмувались? Що робити, коли стає очевидно, що в автора поки нема часу і він не відповідає тут на питання? Можна, звичайно, брати пізніші розділи. Але, мабуть, було б корисніше, якби переклад був без перерв. Якщо ми колись дістанемось до половини і можна буде пропонувати публікацію, хай би це була суцільна половина. Для читачів так буде краще: вони зможуть вчитись паралельно з перекладом подальших розділів. Може, встановити максимальний термін, після якого можна вважати розділ знову вакантним?
@vsemozhetbyt цієї миті лише я один відповідальний за перевірку запитів на злиття і їх злиття в головну гілку. + кожного тижня проходять нові зміни з головного репозиторію, які теж треба перевірити і злити з цим репозиторієм. Я привик всі зміни ретельно перевіряти і виділяю для цього досить багато часу. Бачу зараз трішки накопилося запитів на зміни. Буду мати змогу перевірити лише у вихідні, тому що дещо зайнятий на роботі.
Я бачив Ваші правки до перекладів і розумію що Ваш здібності в цьому на висоті. Якщо маєте час і бажання, то могли б допомогти з перевіркою цього перекладу від @ArtemZununov. Решту Ваших змін я перевірю якомога швидше (передбачаю, що в мене буде мало зауважень :) ).
О, ні, вибачте, я не мав на увазі нікого підганяти з перевіркою пул-реквестів, це кропітка праця. Я скоріше мав на увазі такі ситуації: скажімо, більше року тому заявлено переклад розділу про функції, але автор з того часу не озивався, і тепер на місці цього розділу лакуна, оскільки наступні розділи вже перекладено.
@vsemozhetbyt так, це справді проблема. Думаю, в такому випадку краще вводити максимальний термін для перекладу, скажімо 2 місяці. Чому 2 місяці? Я розумію, що деякі розділи мають справді багато тексту для перекладу. Також розумію, що для перекладу люди виділяють частину свого вільного часу (за що я дуже їм вдячний). Тому в таких випадках великий розділ може затягнутися на тижні. Час від часу, я питаюся в авторів як йдуть справи. Якщо є зворотній зв'язок, і автор продовжує роботу над перекладом, то термін може бути продовжено. Однак, були випадки що автор не зміг закінчити і мені приходилося завершувати переклад. Я розумію, що таким чином переклад може затягнутися на місяці, але іншого виходу немає. Все-таки, бажаючих, на жаль, дуже мало.
Це моя пропозиція. Звичайно, потрібно обговорити, як поступати в таких випадках.
Мені здається, що це слушна пропозиція. Щодо згаданої ситуації, можу запропонувати: якщо шановний @hypeofpipe не озветься найближчим часом, я можу взяти переклад його розділу. Якщо в нього вже є частина перекладу, але нема часу завершити, ми будемо вдячні і за пул-реквест з частиною, решту зможе доперекласти хтось інший.
Як ні прикро це звучить після моїх останніх коментарів, але, з деяких особистих причин, я не зможу бути корисним проєкту найближчим часом. Тому, на жаль, прошу вважати вакантними переклади розділу "Nullish coalescing operator '??'" (автор сьогодні його переписав, тому мій варіант, на жаль, використати не вдасться) та розділу "Functions" (якщо шановний @hypeofpipe не озветься). Вибачте, що так сталось. Якщо щось зміниться, я повернусь до співробітництва)
@tarasyyyk Добрий день, коли зможете перевірити ПР?
@ArtemZununov доброго дня! Перевірив Ваш ПР. Дякую за Ваш внесок!
Вибачте за затримки.
Will take Data Array methods
Потрібна допомога з перекладом розділу «Поліфіли і транспілятори» (переклад додано після злиття з цими змінами: #131).
I will try to take JavaScript Fundamentals -> Nullish coalescing operator '??'
@Olli55 ok. Please, translate Nullish coalescing operator as Оператор об’єднання з null.
I think this is best translation for this.
Всім привіт! Я візьму Object copy.
@tarasyyyk можеш мене додати до листа перекладу?
@stas-dolgachov привіт!
Гаразд, я запишу.
Закінчив переклад Object copy.
#142
Якщо можна, хочу взяти Garbage collection
@tarasyyyk можеш мене додати до листа перекладу? — done ✅
Дякую за переклад, @stas-dolgachov! Зараз перегляну зміни і внесу виправлення, якщо буде потрібно.
Закріпив розділ Garbage collection за Вами.
Якщо Ви збираєтесь перекладати на регулярній основі (хоча б один розділ в 2 місяці) це було б чудово. В подальшому, я б зміг збільшити повноваження (щоб ви мали змогу перевіряти переклади і вносити виправлення).
@tarasyyyk дякую! Я планую перекладати на постійній основі і, якщо пощастить, приведу ще перекладачів ;)
Дуже хочу, щоб українськая версія з'явилась все ж таки на сайті
@tarasyyyk Привіт, хочу перекласти Strings
Привіт, @tarasyyyk
Я візьму Optional chaining '?.'
Object methods, "this"
Всім привіт!
@tarasyyyk я б хотів перекласти "Introduction: callbacks"
Привіт, хочу перекласти 'Map, Set'. @tarasyyyk
Ого, як вас багато! Напевно @stas-dolgachov постарався :)
Всіх додав до списку перекладів.
PS. Щоб опублікувати переклад посібника українською мовою, потрібно перекласти хоча б 50%. Це 86 розділів (до Browser: Document, Events, Interfaces). До слова, узбецький переклад вже будуь публікувати.
@tarasyyyk Optional chaining '?.' - висить PR
Далі хотів би взяти Promise
@tarasyyyk Привіт, хочу взяти Symbol type
@tarasyyyk хотів би взяти Network requests -- Fetch (і далі, якщо піде).
Всім привіт,
@tarasyyyk хочу перекласти Constructor, operator "new"
Оновив прогрес перекладу.
Завтра перегляну всі PR. Всім дякую за переклади!
Привіт. Хотів би перекласти Object.keys, values, entries
@tarasyyyk
Усім привіт, хочу перекласти статтю Prototypal inheritance
@tarasyyyk
Можна взяти "Object to primitive conversion"?
Object to primitive conversion
@tarasyyyk додай будь-ласка @MykolaSopiha до переліку статей, він вже закінчив цей переклад і хоче взяти наступну статтю :)
WeakMap and WeakSet
@tarasyyyk додай будь-ласка @MykolaSopiha до переліку статей, він вже закінчив цей переклад і хоче взяти наступну статтю :)
Додавати учасників перекладу має бот @javascript-translate-bot.
Все, що потрібно новому учасникові — це просто написати тут коментар з англійською назвою статті, яку він/вона збирається перекласти. А потім створити PR з такою ж назвою.
В теорії цей бот має автоматизувати процес відмічання/завершення перекладів, але в нашому випадку він «онулив» весь наш прогрес. Частково це моя провина, тому що не написав в README правильний workflow перекладу.
Буду звертатися до Іллі, як це можна виправити.
@didostap, якщо Ви помітити деякі неточності в перекладі або бачите, де можна було б покращити переклад, перейдіть на вкладку Files changed і додайте коментар-пропозицію ось таким чином:

Тоді перекладач матиме змогу швидко додати Вашу пропозицію до свого перекладу. Якщо б Ви хотіли час від часу перевіряти переклади, напишіть мені, я додам Вас до організації. Ви зможете самі додавати пропозиції і підтвердувати (approve) переклади.
Це ж стосується @stas-dolgachov.
Functions
@tarasyyyk добавляйте до організації. По можливості буду рев'ювати.
@tarasyyyk "Promise" - висить PR
Далі хотів би взяти "Generators"
Date and time
Rest parameters and spread syntax
Хотів би взяти The old "var".
Хотів би взяти The old "var".
Напишіть, будь ласка, назву статті англійською мовою, щоб @javascript-translate-bot зміг відслідковувати Ваш прогрес. Дякую.
@tarasyyyk добавляйте до організації. По можливості буду рев'ювати.
Гаразд, тільки коли хочете взяти новий розділ для перекладу, просто напишіть його назву тут, в коментарях. Вище я про це писав 🙂
Просто напишіть два нових коментаря (для "Promise" і "Generators") щоб бот Вас замітив, а вже потім після перекладу створіть новий PR з такою ж назвою. Я оновив README можете прочитати детальніше.
Global object
The old "var"
An Introduction to JavaScript
JSON methods, toJSON
Scheduling: setTimeout and setInterval
An Introduction to JavaScript
@AlexNikolaiev94, цей розділ вже перекладено. Прогрес був некоректним, але зараз вже все виправив. Вибачте за незручності.
Можна брати будь-який вільний розділ для перекладу.
Arrow functions revisited
Оновлення: зняв всіх перекладачів з прогресу.
15 серп. 2021 @Regnised переклав Objects. ✅
25 серп. 2021 @Regnised переклад Array methods. ✅
25 вер. 2021 @MykolaSopiha переклад Recursion and stack. ✅
22 лист. 2021 @MykolaSopiha переклад Nullish coalescing operator '??'. ✅
@Regnised та @MykolaSopiha переклали «хвости». Дякую!
Усім привіт, хотів би взяти для перекладу наступну статтю з розділу Prototypes, inheritance, яка називається F.prototype
Усім привіт, хотів би взяти для перекладу наступну статтю з розділу Prototypes, inheritance, яка називається F.prototype
@VolodymyrSSS привіт. Дякую за переклад статті Prototypal inheritance!
Закріпив за Вами переклад F.prototype.
Надалі, щоб бот фіксував за Вами переклад статті, напишіть будь ласка, назву статті англійською мовою окремим коментарем. Наприклад, новий коментар з текстом F.prototype.
Детальніше описано в README і в першому коментарі.
Objects

