aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api
diff options
context:
space:
mode:
authorAlexey Istomin <webistomin@gmail.com>2021-03-20 18:37:44 +0300
committerGitHub <noreply@github.com>2021-03-20 18:37:44 +0300
commit841aae260382e2bf5ebb44d765d8c7301d27caab (patch)
tree81a92c25f6dc02e5f119131785d721db79fc3455 /files/ru/web/api
parent730fea852ff827ca034fe17c84288c95d270ec92 (diff)
downloadtranslated-content-841aae260382e2bf5ebb44d765d8c7301d27caab.tar.gz
translated-content-841aae260382e2bf5ebb44d765d8c7301d27caab.tar.bz2
translated-content-841aae260382e2bf5ebb44d765d8c7301d27caab.zip
Restore "ё" letter in Russian translation (#239)
* docs(ru): restore ё letter * docs(ru): resolve conflicts * refactor(idea): remove ide folder
Diffstat (limited to 'files/ru/web/api')
-rw-r--r--files/ru/web/api/abortcontroller/index.html10
-rw-r--r--files/ru/web/api/abortsignal/index.html2
-rw-r--r--files/ru/web/api/abstractworker/index.html2
-rw-r--r--files/ru/web/api/ambient_light_events/index.html10
-rw-r--r--files/ru/web/api/analysernode/getbytefrequencydata/index.html2
-rw-r--r--files/ru/web/api/angle_instanced_arrays/index.html4
-rw-r--r--files/ru/web/api/animation/index.html24
-rw-r--r--files/ru/web/api/attr/index.html10
-rw-r--r--files/ru/web/api/audiobuffer/index.html6
-rw-r--r--files/ru/web/api/audiocontext/createmediaelementsource/index.html4
-rw-r--r--files/ru/web/api/audiocontext/index.html2
-rw-r--r--files/ru/web/api/audionode/index.html6
-rw-r--r--files/ru/web/api/audioparam/setvalueattime/index.html2
-rw-r--r--files/ru/web/api/baseaudiocontext/createpanner/index.html4
-rw-r--r--files/ru/web/api/beacon_api/index.html8
-rw-r--r--files/ru/web/api/beforeinstallpromptevent/index.html2
-rw-r--r--files/ru/web/api/blob/blob/index.html2
-rw-r--r--files/ru/web/api/blob/index.html4
-rw-r--r--files/ru/web/api/blob/slice/index.html4
-rw-r--r--files/ru/web/api/bluetoothremotegattserver/index.html2
-rw-r--r--files/ru/web/api/body/arraybuffer/index.html6
-rw-r--r--files/ru/web/api/body/json/index.html6
-rw-r--r--files/ru/web/api/broadcastchannel/index.html4
-rw-r--r--files/ru/web/api/broadcastchannel/postmessage/index.html2
-rw-r--r--files/ru/web/api/cache/add/index.html2
-rw-r--r--files/ru/web/api/cache/addall/index.html2
-rw-r--r--files/ru/web/api/cache/delete/index.html2
-rw-r--r--files/ru/web/api/cache/index.html16
-rw-r--r--files/ru/web/api/cache/keys/index.html4
-rw-r--r--files/ru/web/api/cache/match/index.html4
-rw-r--r--files/ru/web/api/cachestorage/index.html18
-rw-r--r--files/ru/web/api/canvas_api/a_basic_ray-caster/index.html10
-rw-r--r--files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html2
-rw-r--r--files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html46
-rw-r--r--files/ru/web/api/canvas_api/tutorial/basic_usage/index.html12
-rw-r--r--files/ru/web/api/canvas_api/tutorial/compositing/index.html14
-rw-r--r--files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html36
-rw-r--r--files/ru/web/api/canvas_api/tutorial/drawing_text/index.html2
-rw-r--r--files/ru/web/api/canvas_api/tutorial/index.html4
-rw-r--r--files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html8
-rw-r--r--files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html16
-rw-r--r--files/ru/web/api/canvas_api/tutorial/transformations/index.html8
-rw-r--r--files/ru/web/api/canvas_api/tutorial/using_images/index.html22
-rw-r--r--files/ru/web/api/canvascapturemediastreamtrack/index.html2
-rw-r--r--files/ru/web/api/canvasgradient/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/arc/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/arcto/index.html6
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/beziercurveto/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/clearrect/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/closepath/index.html4
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html6
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html16
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/fill/index.html8
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html4
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/filltext/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/font/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/getimagedata/index.html8
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/index.html36
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/linedashoffset/index.html6
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/lineto/index.html4
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/rect/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/restore/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/rotate/index.html4
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/stroke/index.html4
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html2
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/textalign/index.html2
-rw-r--r--files/ru/web/api/cdatasection/index.html2
-rw-r--r--files/ru/web/api/characterdata/index.html2
-rw-r--r--files/ru/web/api/childnode/index.html2
-rw-r--r--files/ru/web/api/childnode/remove/index.html4
-rw-r--r--files/ru/web/api/clients/index.html2
-rw-r--r--files/ru/web/api/clients/openwindow/index.html4
-rw-r--r--files/ru/web/api/clipboardevent/index.html2
-rw-r--r--files/ru/web/api/comment/index.html2
-rw-r--r--files/ru/web/api/console/count/index.html6
-rw-r--r--files/ru/web/api/console/countreset/index.html20
-rw-r--r--files/ru/web/api/console/group/index.html6
-rw-r--r--files/ru/web/api/console/index.html6
-rw-r--r--files/ru/web/api/console/time/index.html2
-rw-r--r--files/ru/web/api/console/timelog/index.html2
-rw-r--r--files/ru/web/api/console/trace/index.html2
-rw-r--r--files/ru/web/api/credential_management_api/index.html16
-rw-r--r--files/ru/web/api/css_object_model/index.html2
-rw-r--r--files/ru/web/api/css_object_model/managing_screen_orientation/index.html6
-rw-r--r--files/ru/web/api/cssrule/index.html2
-rw-r--r--files/ru/web/api/cssstyledeclaration/index.html6
-rw-r--r--files/ru/web/api/datatransfer/index.html8
-rw-r--r--files/ru/web/api/document/activeelement/index.html2
-rw-r--r--files/ru/web/api/document/alinkcolor/index.html2
-rw-r--r--files/ru/web/api/document/cookie/index.html4
-rw-r--r--files/ru/web/api/document/createattribute/index.html2
-rw-r--r--files/ru/web/api/document/createdocumentfragment/index.html2
-rw-r--r--files/ru/web/api/document/createelement/index.html12
-rw-r--r--files/ru/web/api/document/createtextnode/index.html2
-rw-r--r--files/ru/web/api/document/document/index.html2
-rw-r--r--files/ru/web/api/document/execcommand/index.html20
-rw-r--r--files/ru/web/api/document/getelementsbyclassname/index.html8
-rw-r--r--files/ru/web/api/document/getelementsbytagname/index.html2
-rw-r--r--files/ru/web/api/document/head/index.html2
-rw-r--r--files/ru/web/api/document/importnode/index.html4
-rw-r--r--files/ru/web/api/document/index.html2
-rw-r--r--files/ru/web/api/document/keypress_event/index.html2
-rw-r--r--files/ru/web/api/document/queryselector/index.html4
-rw-r--r--files/ru/web/api/document/readystate/index.html6
-rw-r--r--files/ru/web/api/document/referrer/index.html4
-rw-r--r--files/ru/web/api/document/scroll_event/index.html4
-rw-r--r--files/ru/web/api/document_object_model/events/index.html8
-rw-r--r--files/ru/web/api/document_object_model/examples/index.html2
-rw-r--r--files/ru/web/api/document_object_model/introduction/index.html8
-rw-r--r--files/ru/web/api/document_object_model/locating_dom_elements_using_selectors/index.html6
-rw-r--r--files/ru/web/api/documentfragment/index.html4
-rw-r--r--files/ru/web/api/domhighrestimestamp/index.html2
-rw-r--r--files/ru/web/api/domimplementation/createhtmldocument/index.html4
-rw-r--r--files/ru/web/api/domimplementation/index.html12
-rw-r--r--files/ru/web/api/domparser/index.html2
-rw-r--r--files/ru/web/api/domtokenlist/replace/index.html2
-rw-r--r--files/ru/web/api/element/attachshadow/index.html6
-rw-r--r--files/ru/web/api/element/blur_event/index.html2
-rw-r--r--files/ru/web/api/element/classlist/index.html2
-rw-r--r--files/ru/web/api/element/clientleft/index.html6
-rw-r--r--files/ru/web/api/element/clienttop/index.html2
-rw-r--r--files/ru/web/api/element/closest/index.html2
-rw-r--r--files/ru/web/api/element/error_event/index.html2
-rw-r--r--files/ru/web/api/element/getboundingclientrect/index.html4
-rw-r--r--files/ru/web/api/element/getelementsbyclassname/index.html4
-rw-r--r--files/ru/web/api/element/getelementsbytagname/index.html6
-rw-r--r--files/ru/web/api/element/hasattribute/index.html2
-rw-r--r--files/ru/web/api/element/index.html22
-rw-r--r--files/ru/web/api/element/innerhtml/index.html8
-rw-r--r--files/ru/web/api/element/insertadjacenttext/index.html2
-rw-r--r--files/ru/web/api/element/mouseenter_event/index.html2
-rw-r--r--files/ru/web/api/element/mouseleave_event/index.html2
-rw-r--r--files/ru/web/api/element/removeattribute/index.html2
-rw-r--r--files/ru/web/api/element/scrollheight/index.html2
-rw-r--r--files/ru/web/api/element/scrolltop/index.html2
-rw-r--r--files/ru/web/api/element/setattribute/index.html6
-rw-r--r--files/ru/web/api/element/slot/index.html2
-rw-r--r--files/ru/web/api/elementcssinlinestyle/style/index.html6
-rw-r--r--files/ru/web/api/event/event/index.html2
-rw-r--r--files/ru/web/api/event/index.html4
-rw-r--r--files/ru/web/api/event/type/index.html2
-rw-r--r--files/ru/web/api/eventtarget/addeventlistener/index.html16
-rw-r--r--files/ru/web/api/eventtarget/removeeventlistener/index.html4
-rw-r--r--files/ru/web/api/extendableevent/waituntil/index.html2
-rw-r--r--files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html6
-rw-r--r--files/ru/web/api/fetch_api/index.html6
-rw-r--r--files/ru/web/api/fetch_api/using_fetch/index.html12
-rw-r--r--files/ru/web/api/fetchevent/index.html2
-rw-r--r--files/ru/web/api/file/filename/index.html4
-rw-r--r--files/ru/web/api/file/using_files_from_web_applications/index.html26
-rw-r--r--files/ru/web/api/file_and_directory_entries_api/index.html12
-rw-r--r--files/ru/web/api/file_and_directory_entries_api/introduction/index.html6
-rw-r--r--files/ru/web/api/filereader/index.html8
-rw-r--r--files/ru/web/api/filereader/readasarraybuffer/index.html2
-rw-r--r--files/ru/web/api/filereader/readasbinarystring/index.html4
-rw-r--r--files/ru/web/api/fontface/index.html2
-rw-r--r--files/ru/web/api/formdata/append/index.html8
-rw-r--r--files/ru/web/api/formdata/delete/index.html2
-rw-r--r--files/ru/web/api/formdata/formdata/index.html4
-rw-r--r--files/ru/web/api/formdata/get/index.html4
-rw-r--r--files/ru/web/api/formdata/getall/index.html2
-rw-r--r--files/ru/web/api/formdata/index.html4
-rw-r--r--files/ru/web/api/formdata/set/index.html4
-rw-r--r--files/ru/web/api/gamepad/buttons/index.html2
-rw-r--r--files/ru/web/api/gamepad/connected/index.html4
-rw-r--r--files/ru/web/api/gamepad/id/index.html6
-rw-r--r--files/ru/web/api/gamepad/index.html6
-rw-r--r--files/ru/web/api/gamepad/index/index.html4
-rw-r--r--files/ru/web/api/gamepad_api/index.html10
-rw-r--r--files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html6
-rw-r--r--files/ru/web/api/gamepadbutton/index.html4
-rw-r--r--files/ru/web/api/gamepadevent/index.html2
-rw-r--r--files/ru/web/api/geolocation_api/index.html2
-rw-r--r--files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html4
-rw-r--r--files/ru/web/api/geolocationcoordinates/index.html2
-rw-r--r--files/ru/web/api/geolocationpositionerror/index.html2
-rw-r--r--files/ru/web/api/globaleventhandlers/onanimationcancel/index.html4
-rw-r--r--files/ru/web/api/globaleventhandlers/onerror/index.html2
-rw-r--r--files/ru/web/api/globaleventhandlers/onloadend/index.html2
-rw-r--r--files/ru/web/api/gyroscope/index.html2
-rw-r--r--files/ru/web/api/history/go/index.html8
-rw-r--r--files/ru/web/api/history/index.html8
-rw-r--r--files/ru/web/api/history/state/index.html4
-rw-r--r--files/ru/web/api/history_api/index.html4
-rw-r--r--files/ru/web/api/history_api/working_with_the_history_api/index.html2
-rw-r--r--files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html26
-rw-r--r--files/ru/web/api/html_drag_and_drop_api/index.html8
-rw-r--r--files/ru/web/api/htmlanchorelement/hash/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/hostname/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/href/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/index.html6
-rw-r--r--files/ru/web/api/htmlanchorelement/origin/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/password/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/pathname/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/port/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/protocol/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/search/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/tostring/index.html2
-rw-r--r--files/ru/web/api/htmlanchorelement/username/index.html2
-rw-r--r--files/ru/web/api/htmlareaelement/index.html2
-rw-r--r--files/ru/web/api/htmlaudioelement/audio/index.html4
-rw-r--r--files/ru/web/api/htmlaudioelement/index.html2
-rw-r--r--files/ru/web/api/htmlbasefontelement/index.html4
-rw-r--r--files/ru/web/api/htmlbodyelement/index.html2
-rw-r--r--files/ru/web/api/htmlbuttonelement/index.html6
-rw-r--r--files/ru/web/api/htmlcanvaselement/capturestream/index.html2
-rw-r--r--files/ru/web/api/htmlcanvaselement/getcontext/index.html6
-rw-r--r--files/ru/web/api/htmlcanvaselement/toblob/index.html4
-rw-r--r--files/ru/web/api/htmldialogelement/index.html2
-rw-r--r--files/ru/web/api/htmlelement/accesskey/index.html4
-rw-r--r--files/ru/web/api/htmlelement/hidden/index.html2
-rw-r--r--files/ru/web/api/htmlelement/offsetheight/index.html2
-rw-r--r--files/ru/web/api/htmlelement/transitionend_event/index.html8
-rw-r--r--files/ru/web/api/htmlimageelement/image/index.html2
-rw-r--r--files/ru/web/api/htmlinputelement/setselectionrange/index.html6
-rw-r--r--files/ru/web/api/htmlmediaelement/duration/index.html2
-rw-r--r--files/ru/web/api/htmlmediaelement/index.html18
-rw-r--r--files/ru/web/api/htmlmediaelement/seeking_event/index.html2
-rw-r--r--files/ru/web/api/htmlorforeignelement/dataset/index.html4
-rw-r--r--files/ru/web/api/htmlorforeignelement/nonce/index.html2
-rw-r--r--files/ru/web/api/htmlscriptelement/index.html2
-rw-r--r--files/ru/web/api/htmltableelement/index.html6
-rw-r--r--files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html4
-rw-r--r--files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html6
-rw-r--r--files/ru/web/api/indexeddb_api/index.html16
-rw-r--r--files/ru/web/api/indexeddb_api/using_indexeddb/index.html20
-rw-r--r--files/ru/web/api/inputevent/index.html2
-rw-r--r--files/ru/web/api/intersection_observer_api/index.html10
-rw-r--r--files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html26
-rw-r--r--files/ru/web/api/intersectionobserver/index.html2
-rw-r--r--files/ru/web/api/keyboardevent/altkey/index.html2
-rw-r--r--files/ru/web/api/keyboardevent/index.html2
-rw-r--r--files/ru/web/api/keyboardevent/key/key_values/index.html60
-rw-r--r--files/ru/web/api/localmediastream/index.html2
-rw-r--r--files/ru/web/api/location/index.html2
-rw-r--r--files/ru/web/api/media_session_api/index.html4
-rw-r--r--files/ru/web/api/mediadevices/getusermedia/index.html24
-rw-r--r--files/ru/web/api/mediadevices/index.html4
-rw-r--r--files/ru/web/api/mediaerror/code/index.html4
-rw-r--r--files/ru/web/api/mediarecorder/index.html20
-rw-r--r--files/ru/web/api/mediarecorder/mediarecorder/index.html4
-rw-r--r--files/ru/web/api/mediarecorder/ondataavailable/index.html2
-rw-r--r--files/ru/web/api/mediasource/index.html8
-rw-r--r--files/ru/web/api/mediastream_recording_api/index.html4
-rw-r--r--files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html2
-rw-r--r--files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html14
-rw-r--r--files/ru/web/api/mediastreamtrack/index.html2
-rw-r--r--files/ru/web/api/mediatrackconstraints/echocancellation/index.html2
-rw-r--r--files/ru/web/api/mouseevent/index.html2
-rw-r--r--files/ru/web/api/mouseevent/screenx/index.html2
-rw-r--r--files/ru/web/api/mutationobserver/index.html6
-rw-r--r--files/ru/web/api/namednodemap/index.html10
-rw-r--r--files/ru/web/api/navigation_timing_api/index.html2
-rw-r--r--files/ru/web/api/navigator/battery/index.html2
-rw-r--r--files/ru/web/api/navigator/cookieenabled/index.html2
-rw-r--r--files/ru/web/api/navigator/geolocation/index.html2
-rw-r--r--files/ru/web/api/navigator/getgamepads/index.html2
-rw-r--r--files/ru/web/api/navigator/getvrdisplays/index.html2
-rw-r--r--files/ru/web/api/navigator/index.html6
-rw-r--r--files/ru/web/api/navigator/mediadevices/index.html2
-rw-r--r--files/ru/web/api/navigator/registerprotocolhandler/index.html2
-rw-r--r--files/ru/web/api/navigator/vibrate/index.html4
-rw-r--r--files/ru/web/api/navigatorid/platform/index.html2
-rw-r--r--files/ru/web/api/navigatorid/product/index.html6
-rw-r--r--files/ru/web/api/navigatorid/taintenabled/index.html2
-rw-r--r--files/ru/web/api/navigatorid/useragent/index.html2
-rw-r--r--files/ru/web/api/navigatorlanguage/language/index.html2
-rw-r--r--files/ru/web/api/navigatorlanguage/languages/index.html2
-rw-r--r--files/ru/web/api/navigatoronline/online/index.html10
-rw-r--r--files/ru/web/api/navigatorplugins/index.html2
-rw-r--r--files/ru/web/api/navigatorplugins/javaenabled/index.html4
-rw-r--r--files/ru/web/api/node/appendchild/index.html2
-rw-r--r--files/ru/web/api/node/clonenode/index.html6
-rw-r--r--files/ru/web/api/node/comparedocumentposition/index.html2
-rw-r--r--files/ru/web/api/node/getuserdata/index.html2
-rw-r--r--files/ru/web/api/node/index.html18
-rw-r--r--files/ru/web/api/node/insertbefore/index.html10
-rw-r--r--files/ru/web/api/node/isdefaultnamespace/index.html4
-rw-r--r--files/ru/web/api/node/isequalnode/index.html2
-rw-r--r--files/ru/web/api/node/issupported/index.html4
-rw-r--r--files/ru/web/api/node/localname/index.html2
-rw-r--r--files/ru/web/api/node/lookupnamespaceuri/index.html4
-rw-r--r--files/ru/web/api/node/lookupprefix/index.html4
-rw-r--r--files/ru/web/api/node/namespaceuri/index.html12
-rw-r--r--files/ru/web/api/node/nextsibling/index.html2
-rw-r--r--files/ru/web/api/node/nodevalue/index.html2
-rw-r--r--files/ru/web/api/node/parentnode/index.html4
-rw-r--r--files/ru/web/api/node/prefix/index.html2
-rw-r--r--files/ru/web/api/node/removechild/index.html8
-rw-r--r--files/ru/web/api/node/replacechild/index.html12
-rw-r--r--files/ru/web/api/node/textcontent/index.html4
-rw-r--r--files/ru/web/api/nodelist/index.html2
-rw-r--r--files/ru/web/api/notification/index.html14
-rw-r--r--files/ru/web/api/notifications_api/index.html4
-rw-r--r--files/ru/web/api/page_visibility_api/index.html4
-rw-r--r--files/ru/web/api/pannernode/index.html16
-rw-r--r--files/ru/web/api/parentnode/prepend/index.html2
-rw-r--r--files/ru/web/api/performance/index.html6
-rw-r--r--files/ru/web/api/performance/now/index.html2
-rw-r--r--files/ru/web/api/pointer_lock_api/index.html4
-rw-r--r--files/ru/web/api/positionoptions/index.html2
-rw-r--r--files/ru/web/api/push_api/index.html6
-rw-r--r--files/ru/web/api/pushmanager/subscribe/index.html4
-rw-r--r--files/ru/web/api/range/surroundcontents/index.html2
-rw-r--r--files/ru/web/api/response/index.html2
-rw-r--r--files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html8
-rw-r--r--files/ru/web/api/rtcpeerconnection/currentlocaldescription/index.html4
-rw-r--r--files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html4
-rw-r--r--files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html6
-rw-r--r--files/ru/web/api/rtcpeerconnection/index.html46
-rw-r--r--files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html2
-rw-r--r--files/ru/web/api/screen_capture_api/using_screen_capture/index.html14
-rw-r--r--files/ru/web/api/selection/tostring/index.html2
-rw-r--r--files/ru/web/api/server-sent_events/using_server-sent_events/index.html10
-rw-r--r--files/ru/web/api/service_worker_api/index.html12
-rw-r--r--files/ru/web/api/service_worker_api/using_service_workers/index.html38
-rw-r--r--files/ru/web/api/serviceworker/scripturl/index.html2
-rw-r--r--files/ru/web/api/serviceworkercontainer/register/index.html8
-rw-r--r--files/ru/web/api/serviceworkerregistration/pushmanager/index.html2
-rw-r--r--files/ru/web/api/serviceworkerregistration/shownotification/index.html2
-rw-r--r--files/ru/web/api/serviceworkerstate/index.html2
-rw-r--r--files/ru/web/api/sharedworker/index.html2
-rw-r--r--files/ru/web/api/speechgrammar/index.html2
-rw-r--r--files/ru/web/api/speechrecognition/index.html14
-rw-r--r--files/ru/web/api/speechsynthesisutterance/index.html6
-rw-r--r--files/ru/web/api/storage/clear/index.html4
-rw-r--r--files/ru/web/api/storage/getitem/index.html4
-rw-r--r--files/ru/web/api/storage/key/index.html2
-rw-r--r--files/ru/web/api/storage/length/index.html2
-rw-r--r--files/ru/web/api/storage/removeitem/index.html4
-rw-r--r--files/ru/web/api/storage/setitem/index.html4
-rw-r--r--files/ru/web/api/storagemanager/index.html2
-rw-r--r--files/ru/web/api/streams_api/index.html12
-rw-r--r--files/ru/web/api/svgaelement/index.html2
-rw-r--r--files/ru/web/api/svgaelement/target/index.html2
-rw-r--r--files/ru/web/api/svggraphicselement/index.html2
-rw-r--r--files/ru/web/api/svgtextcontentelement/index.html4
-rw-r--r--files/ru/web/api/svgtextelement/index.html4
-rw-r--r--files/ru/web/api/text/index.html4
-rw-r--r--files/ru/web/api/touch_events/index.html16
-rw-r--r--files/ru/web/api/touchevent/index.html4
-rw-r--r--files/ru/web/api/url/createobjecturl/index.html6
-rw-r--r--files/ru/web/api/usb/requestdevice/index.html2
-rw-r--r--files/ru/web/api/vrdisplay/requestpresent/index.html4
-rw-r--r--files/ru/web/api/vrdisplayevent/index.html2
-rw-r--r--files/ru/web/api/vrframedata/index.html2
-rw-r--r--files/ru/web/api/web_animations_api/index.html6
-rw-r--r--files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html56
-rw-r--r--files/ru/web/api/web_audio_api/index.html6
-rw-r--r--files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html22
-rw-r--r--files/ru/web/api/web_authentication_api/index.html14
-rw-r--r--files/ru/web/api/web_speech_api/index.html2
-rw-r--r--files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html46
-rw-r--r--files/ru/web/api/web_storage_api/index.html14
-rw-r--r--files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html16
-rw-r--r--files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html6
-rw-r--r--files/ru/web/api/web_workers_api/using_web_workers/index.html46
-rw-r--r--files/ru/web/api/webgl_api/index.html6
-rw-r--r--files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html24
-rw-r--r--files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html2
-rw-r--r--files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html4
-rw-r--r--files/ru/web/api/webgl_api/tutorial/getting_started_with_webgl/index.html24
-rw-r--r--files/ru/web/api/webgl_api/tutorial/index.html4
-rw-r--r--files/ru/web/api/webgl_api/tutorial/lighting_in_webgl/index.html16
-rw-r--r--files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html12
-rw-r--r--files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html16
-rw-r--r--files/ru/web/api/webgl_api/webgl_best_practices/index.html8
-rw-r--r--files/ru/web/api/webglrenderingcontext/activetexture/index.html4
-rw-r--r--files/ru/web/api/webglrenderingcontext/bindtexture/index.html4
-rw-r--r--files/ru/web/api/webglrenderingcontext/compileshader/index.html2
-rw-r--r--files/ru/web/api/webglrenderingcontext/enable/index.html2
-rw-r--r--files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html2
-rw-r--r--files/ru/web/api/webglrenderingcontext/index.html10
-rw-r--r--files/ru/web/api/webglrenderingcontext/shadersource/index.html2
-rw-r--r--files/ru/web/api/webglrenderingcontext/uniform/index.html2
-rw-r--r--files/ru/web/api/webrtc_api/adapter.js/index.html2
-rw-r--r--files/ru/web/api/webrtc_api/index.html18
-rw-r--r--files/ru/web/api/webrtc_api/session_lifetime/index.html20
-rw-r--r--files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html10
-rw-r--r--files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html2
-rw-r--r--files/ru/web/api/webrtc_api/taking_still_photos/index.html16
-rw-r--r--files/ru/web/api/webrtc_api/using_data_channels/index.html20
-rw-r--r--files/ru/web/api/websocket/index.html10
-rw-r--r--files/ru/web/api/websockets_api/index.html2
-rw-r--r--files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html2
-rw-r--r--files/ru/web/api/webvr_api/index.html8
-rw-r--r--files/ru/web/api/webvr_api/using_the_webvr_api/index.html2
-rw-r--r--files/ru/web/api/webvtt_api/index.html6
-rw-r--r--files/ru/web/api/webxr_device_api/index.html2
-rw-r--r--files/ru/web/api/window/beforeunload_event/index.html2
-rw-r--r--files/ru/web/api/window/close/index.html2
-rw-r--r--files/ru/web/api/window/closed/index.html2
-rw-r--r--files/ru/web/api/window/console/index.html2
-rw-r--r--files/ru/web/api/window/crypto/index.html2
-rw-r--r--files/ru/web/api/window/frameelement/index.html2
-rw-r--r--files/ru/web/api/window/getcomputedstyle/index.html6
-rw-r--r--files/ru/web/api/window/getselection/index.html6
-rw-r--r--files/ru/web/api/window/history/index.html6
-rw-r--r--files/ru/web/api/window/index.html48
-rw-r--r--files/ru/web/api/window/innerheight/index.html2
-rw-r--r--files/ru/web/api/window/localstorage/index.html6
-rw-r--r--files/ru/web/api/window/location/index.html4
-rw-r--r--files/ru/web/api/window/mozanimationstarttime/index.html2
-rw-r--r--files/ru/web/api/window/pageyoffset/index.html4
-rw-r--r--files/ru/web/api/window/popstate_event/index.html2
-rw-r--r--files/ru/web/api/window/postmessage/index.html4
-rw-r--r--files/ru/web/api/window/prompt/index.html4
-rw-r--r--files/ru/web/api/window/requestanimationframe/index.html2
-rw-r--r--files/ru/web/api/window/self/index.html2
-rw-r--r--files/ru/web/api/window/sessionstorage/index.html4
-rw-r--r--files/ru/web/api/window/unhandledrejection_event/index.html4
-rw-r--r--files/ru/web/api/windoweventhandlers/onpopstate/index.html2
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/atob/index.html2
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/btoa/index.html2
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html6
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/fetch/index.html6
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/index.html2
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/setinterval/index.html2
-rw-r--r--files/ru/web/api/windoworworkerglobalscope/settimeout/index.html4
-rw-r--r--files/ru/web/api/worker/onmessage/index.html2
-rw-r--r--files/ru/web/api/worker/postmessage/index.html8
-rw-r--r--files/ru/web/api/worker/terminate/index.html4
-rw-r--r--files/ru/web/api/worker/worker/index.html2
-rw-r--r--files/ru/web/api/workerglobalscope/importscripts/index.html4
-rw-r--r--files/ru/web/api/xmlhttprequest/index.html32
-rw-r--r--files/ru/web/api/xmlhttprequest/response/index.html10
-rw-r--r--files/ru/web/api/xmlhttprequest/responsetext/index.html4
-rw-r--r--files/ru/web/api/xmlhttprequest/responsetype/index.html2
-rw-r--r--files/ru/web/api/xmlhttprequest/responseurl/index.html2
-rw-r--r--files/ru/web/api/xmlhttprequest/send/index.html6
-rw-r--r--files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html12
-rw-r--r--files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html2
-rw-r--r--files/ru/web/api/xmlhttprequest/xmlhttprequest/index.html4
-rw-r--r--files/ru/web/api/xmlserializer/index.html2
440 files changed, 1369 insertions, 1369 deletions
diff --git a/files/ru/web/api/abortcontroller/index.html b/files/ru/web/api/abortcontroller/index.html
index 4914b8ca76..07671c5722 100644
--- a/files/ru/web/api/abortcontroller/index.html
+++ b/files/ru/web/api/abortcontroller/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/AbortController
<dl>
<dt>{{domxref("AbortController.AbortController()")}}</dt>
- <dd>Создает новый экземпляр <code>AbortController</code>.</dd>
+ <dd>Создаёт новый экземпляр <code>AbortController</code>.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -27,16 +27,16 @@ translation_of: Web/API/AbortController
<dl>
<dt>{{domxref("AbortController.abort()")}}</dt>
- <dd>Прерывает DOM запрос до момента его завершения. Это дает возможность обрывать <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросы</a>, потребителей любых ответов с {{domxref("Body")}} и потоки.</dd>
+ <dd>Прерывает DOM запрос до момента его завершения. Это даёт возможность обрывать <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросы</a>, потребителей любых ответов с {{domxref("Body")}} и потоки.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
<p>В текущем фрагменте мы пытаемся скачать видео используя <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a>.</p>
-<p>Для начала мы создадим контроллер используя конструктор {{domxref("AbortController.AbortController","AbortController()")}}, затем возьмем ссылку на ассоциированный с ним объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p>
+<p>Для начала мы создадим контроллер используя конструктор {{domxref("AbortController.AbortController","AbortController()")}}, затем возьмём ссылку на ассоциированный с ним объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p>
-<p>При инициализации <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запроса</a>, мы передаем <code>AbortSignal</code> в качестве параметра (смотрите ниже <code>{signal}</code>). Это ассоциирует сигнал и контроллер с fetch запросом и дает нам возможность остановить запрос вызовом метода {{domxref("AbortController.abort()")}}, что можно увидеть во втором addEventListener.</p>
+<p>При инициализации <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запроса</a>, мы передаём <code>AbortSignal</code> в качестве параметра (смотрите ниже <code>{signal}</code>). Это ассоциирует сигнал и контроллер с fetch запросом и даёт нам возможность остановить запрос вызовом метода {{domxref("AbortController.abort()")}}, что можно увидеть во втором addEventListener.</p>
<pre class="brush: js">var controller = new AbortController();
var signal = controller.signal;
@@ -61,7 +61,7 @@ function fetchVideo() {
}</pre>
<div class="note">
-<p><strong>Заметка</strong>: При вызове <code>abort()</code>, промис <code>fetch()</code> будет отклонен с <code>AbortError</code>.</p>
+<p><strong>Заметка</strong>: При вызове <code>abort()</code>, промис <code>fetch()</code> будет отклонён с <code>AbortError</code>.</p>
</div>
<p>Вы можете найти полный рабочий пример на GitHub — смотрите <a href="https://github.com/mdn/dom-examples/tree/master/abort-api">abort-api</a> (<a href="https://mdn.github.io/dom-examples/abort-api/">и живой пример</a>).</p>
diff --git a/files/ru/web/api/abortsignal/index.html b/files/ru/web/api/abortsignal/index.html
index 1830282648..ea8d029224 100644
--- a/files/ru/web/api/abortsignal/index.html
+++ b/files/ru/web/api/abortsignal/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/AbortSignal
<dl>
<dt>{{domxref("AbortSignal.aborted")}} {{readonlyInline}}</dt>
- <dd>Это {{domxref("Boolean")}}, который указывает, отменен ли запрос(ы), с которым связывался сигнал, отменён (<code>true</code>) или нет (<code>false</code>).</dd>
+ <dd>Это {{domxref("Boolean")}}, который указывает, отменён ли запрос(ы), с которым связывался сигнал, отменён (<code>true</code>) или нет (<code>false</code>).</dd>
</dl>
<h3 id="Обработчики_событий">Обработчики событий</h3>
diff --git a/files/ru/web/api/abstractworker/index.html b/files/ru/web/api/abstractworker/index.html
index f7aa28428b..fc666b57c7 100644
--- a/files/ru/web/api/abstractworker/index.html
+++ b/files/ru/web/api/abstractworker/index.html
@@ -45,7 +45,7 @@ first.onchange = function() {
console.log('Message posted to worker');
}</pre>
-<p>Код воркера загружается из файла <code>"worker.js"</code>. В данном коде предполагается, что есть элемент {{HTMLElement("input")}}, его определяет переменная <code>first</code>. Для события {{domxref("change")}} элемента создается обработчик, поэтому когда пользователь изменяет значение для <code>first</code>, отправляется сообщение в воркер для уведомления его об данных изменениях.</p>
+<p>Код воркера загружается из файла <code>"worker.js"</code>. В данном коде предполагается, что есть элемент {{HTMLElement("input")}}, его определяет переменная <code>first</code>. Для события {{domxref("change")}} элемента создаётся обработчик, поэтому когда пользователь изменяет значение для <code>first</code>, отправляется сообщение в воркер для уведомления его об данных изменениях.</p>
<p>Вы можете найти больше примеров в репозитории MDN Web Docs на GitHub:</p>
diff --git a/files/ru/web/api/ambient_light_events/index.html b/files/ru/web/api/ambient_light_events/index.html
index 61b79484e6..c992706006 100644
--- a/files/ru/web/api/ambient_light_events/index.html
+++ b/files/ru/web/api/ambient_light_events/index.html
@@ -2,20 +2,20 @@
title: Ambient Light Events
slug: Web/API/Ambient_Light_Events
tags:
- - Освещенность
+ - Освещённость
translation_of: Web/API/Ambient_Light_Events
---
<div>{{DefaultAPISidebar("Ambient Light Events")}}{{SeeCompatTable}}</div>
-<p>События "окружающего света" -  удобный способ уведомить веб-страницу или приложение о каком-либо изменении интенсивности света. Это позволяет им реагировать на такое изменение, например, путем изменения цветового контраста пользовательского интерфейса (UI) или путем изменения экспозиции, необходимой для фотографирования.</p>
+<p>События "окружающего света" -  удобный способ уведомить веб-страницу или приложение о каком-либо изменении интенсивности света. Это позволяет им реагировать на такое изменение, например, путём изменения цветового контраста пользовательского интерфейса (UI) или путём изменения экспозиции, необходимой для фотографирования.</p>
<h2 id="Световые_события">Световые события</h2>
-<p>Когда датчик света устройства обнаруживает изменение уровня освещенности, он уведомляет браузер об этом изменении. Когда браузер получает такое уведомление, он вызывает {{domxref("DeviceLightEvent")}} событие, которое предоставляет информацию о точной интенсивности света.</p>
+<p>Когда датчик света устройства обнаруживает изменение уровня освещённости, он уведомляет браузер об этом изменении. Когда браузер получает такое уведомление, он вызывает {{domxref("DeviceLightEvent")}} событие, которое предоставляет информацию о точной интенсивности света.</p>
-<p>Это событие может быть захвачено на уровне объектом окна, используя метод {{domxref("EventTarget.addEventListener","addEventListener")}}  (используя имя события {{event("devicelight")}} ) или путем присоединения обработчика событий к свойству {{domxref("window.ondevicelight")}}.</p>
+<p>Это событие может быть захвачено на уровне объектом окна, используя метод {{domxref("EventTarget.addEventListener","addEventListener")}}  (используя имя события {{event("devicelight")}} ) или путём присоединения обработчика событий к свойству {{domxref("window.ondevicelight")}}.</p>
-<p>После того, как захвачен объект события дает доступ к интенсивности света, выраженного в <a href="http://en.wikipedia.org/wiki/Lux">lux</a> через свойство {{domxref("DeviceLightEvent.value")}}.</p>
+<p>После того, как захвачен объект события даёт доступ к интенсивности света, выраженного в <a href="http://en.wikipedia.org/wiki/Lux">lux</a> через свойство {{domxref("DeviceLightEvent.value")}}.</p>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/api/analysernode/getbytefrequencydata/index.html b/files/ru/web/api/analysernode/getbytefrequencydata/index.html
index c042694040..94309ba833 100644
--- a/files/ru/web/api/analysernode/getbytefrequencydata/index.html
+++ b/files/ru/web/api/analysernode/getbytefrequencydata/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/AnalyserNode/getByteFrequencyData
<p>Данные частоты состоят из целых чисел по шкале от 0 до 255.</p>
-<p>Каждый элемент в массиве представляет собой значение в децибелах для определенной частоты. Частоты распределены линейно от 0 до 1/2 частоты дискретизации. Например, для частоты дискретизации <code>48000</code> последний элемент массива будет представлять значение в децибелах для <code>24000</code> Гц.</p>
+<p>Каждый элемент в массиве представляет собой значение в децибелах для определённой частоты. Частоты распределены линейно от 0 до 1/2 частоты дискретизации. Например, для частоты дискретизации <code>48000</code> последний элемент массива будет представлять значение в децибелах для <code>24000</code> Гц.</p>
<p>Если в массиве меньше элементов, чем в {{domxref("AnalyserNode.frequencyBinCount")}}, лишние элементы удаляются. Если в нем больше элементов, чем необходимо, лишние элементы игнорируются.</p>
diff --git a/files/ru/web/api/angle_instanced_arrays/index.html b/files/ru/web/api/angle_instanced_arrays/index.html
index 558e053527..3f769d4c64 100644
--- a/files/ru/web/api/angle_instanced_arrays/index.html
+++ b/files/ru/web/api/angle_instanced_arrays/index.html
@@ -34,7 +34,7 @@ translation_of: Web/API/ANGLE_instanced_arrays
<p>Behaves identically to {{domxref("WebGLRenderingContext.drawArrays()", "gl.drawArrays()")}} except that multiple instances of the range of elements are executed, and the instance advances for each iteration.</p>
</dd>
<dt>{{domxref("ANGLE_instanced_arrays.drawElementsInstancedANGLE()", "ext.drawElementsInstancedANGLE()")}}</dt>
- <dd>Ведет себя идентично {{domxref("WebGLRenderingContext.drawElements()", "gl.drawElements()")}} за исключением того, что выполняется несколько экземпляров набора элементов и экземпляр перемещается между каждым набором</dd>
+ <dd>Ведёт себя идентично {{domxref("WebGLRenderingContext.drawElements()", "gl.drawElements()")}} за исключением того, что выполняется несколько экземпляров набора элементов и экземпляр перемещается между каждым набором</dd>
<dt>{{domxref("ANGLE_instanced_arrays.vertexAttribDivisorANGLE()", "ext.vertexAttribDivisorANGLE()")}}</dt>
<dd>
<p>Изменяет скорость продвижения общих атрибутов вершин при визуализации нескольких экземпляров примитивов с помощью {{domxref("ANGLE_instanced_arrays.drawArraysInstancedANGLE()", "ext.drawArraysInstancedANGLE()")}} и {{domxref("ANGLE_instanced_arrays.drawElementsInstancedANGLE()", "ext.drawElementsInstancedANGLE()")}}.</p>
@@ -67,7 +67,7 @@ translation_of: Web/API/ANGLE_instanced_arrays
<h2 id="Совместимость_браузеров">Совместимость браузеров</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте https://github.com/mdn/browser-compat-data и отправьте нам запрос.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте https://github.com/mdn/browser-compat-data и отправьте нам запрос.</p>
<p>{{Compat("api.ANGLE_instanced_arrays")}}</p>
diff --git a/files/ru/web/api/animation/index.html b/files/ru/web/api/animation/index.html
index d1deb15f99..fbe650d434 100644
--- a/files/ru/web/api/animation/index.html
+++ b/files/ru/web/api/animation/index.html
@@ -11,33 +11,33 @@ translation_of: Web/API/Animation
<dl>
<dt>{{domxref("Animation.Animation()", "Animation()")}}</dt>
- <dd>Создает новый экземпляр объекта <code>Animation.</code></dd>
+ <dd>Создаёт новый экземпляр объекта <code>Animation.</code></dd>
</dl>
<h2 id="Свойства">Свойства</h2>
<dl>
<dt>{{domxref("Animation.currentTime")}}</dt>
- <dd>Текущее значение времени анимации в миллисекундах, независимо от того работает анимация или приостановлена. Если анимация не имеет {{domxref("AnimationTimeline", "timeline")}}, неактивна или еще не воспроизведена, то это значение равно нулю.</dd>
+ <dd>Текущее значение времени анимации в миллисекундах, независимо от того работает анимация или приостановлена. Если анимация не имеет {{domxref("AnimationTimeline", "timeline")}}, неактивна или ещё не воспроизведена, то это значение равно нулю.</dd>
</dl>
<dl>
<dt>{{domxref("Animation.effect")}}</dt>
- <dd>Возвращает и задает {{domxref ("AnimationEffectReadOnly")}} связанный с этой анимацией. Обычно это объект {{domxref ("KeyframeEffect")}}.</dd>
+ <dd>Возвращает и задаёт {{domxref ("AnimationEffectReadOnly")}} связанный с этой анимацией. Обычно это объект {{domxref ("KeyframeEffect")}}.</dd>
<dt>{{domxref("Animation.finished")}} {{readOnlyInline}}</dt>
- <dd>Возвращает текущее завершенное Promise(обещание) для этой анимации.</dd>
+ <dd>Возвращает текущее завершённое Promise(обещание) для этой анимации.</dd>
</dl>
<dl>
<dt>{{domxref("Animation.id")}}</dt>
- <dd>Возвращает и задает String(строку), используемую для идентификации анимации.</dd>
+ <dd>Возвращает и задаёт String(строку), используемую для идентификации анимации.</dd>
<dt>{{domxref("Animation.playState")}} {{readOnlyInline}}</dt>
<dd>Возвращает перечисляемое значение, описывающее состояние воспроизведения анимации.</dd>
</dl>
<dl>
<dt>{{domxref("Animation.playbackRate")}}</dt>
- <dd>Возвращает или задает скорость воспроизведения анимации.</dd>
+ <dd>Возвращает или задаёт скорость воспроизведения анимации.</dd>
</dl>
<dl>
@@ -47,21 +47,21 @@ translation_of: Web/API/Animation
<dl>
<dt>{{domxref("Animation.startTime")}}</dt>
- <dd>Возвращает или задает начало выполнения анимации.</dd>
+ <dd>Возвращает или задаёт начало выполнения анимации.</dd>
</dl>
<dl>
<dt>{{domxref("Animation.timeline")}}</dt>
- <dd>Возвращает или задает {{domxref("AnimationTimeline", "timeline")}}, связанную с этой анимации.</dd>
+ <dd>Возвращает или задаёт {{domxref("AnimationTimeline", "timeline")}}, связанную с этой анимации.</dd>
</dl>
<h3 id="Обработчики_событий">Обработчики событий</h3>
<dl>
<dt>{{domxref("Animation.oncancel")}}</dt>
- <dd>Возвращает и задает обработчик событий для отмены события.</dd>
+ <dd>Возвращает и задаёт обработчик событий для отмены события.</dd>
<dt>{{domxref("Animation.onfinish")}}</dt>
- <dd>Возвращает и задает обработчик событий для завершения события.</dd>
+ <dd>Возвращает и задаёт обработчик событий для завершения события.</dd>
</dl>
<h2 id="Методы">Методы</h2>
@@ -70,7 +70,7 @@ translation_of: Web/API/Animation
<dt>{{domxref("Animation.cancel()")}}</dt>
<dd>Очищает все {{domxref("KeyframeEffect", "keyframeEffects")}} вызванные этой анимацией и прекращает его выполнение.</dd>
<dt>{{domxref("animation.commitStyles()")}}</dt>
- <dd>Фиксирует конечное состояние стиля анимации к анимируемому элементу, даже после того, как эта анимация была удалена. Это приведет к тому, что конечное состояние стиля будет записано в анимируемый элемент в виде свойств внутри атрибута стиля.</dd>
+ <dd>Фиксирует конечное состояние стиля анимации к анимируемому элементу, даже после того, как эта анимация была удалена. Это приведёт к тому, что конечное состояние стиля будет записано в анимируемый элемент в виде свойств внутри атрибута стиля.</dd>
</dl>
<dl>
@@ -94,7 +94,7 @@ translation_of: Web/API/Animation
<dt>{{domxref("Animation.reverse()")}}</dt>
<dd>Меняет направление воспроизведения, останавливаясь в начале анимации. Если анимация закончена или не запущена, то будет проигрываться с конца к началу.</dd>
<dt>{{domxref("Animation.updatePlaybackRate()")}}</dt>
- <dd>Задает скорость анимации после синхронизации ее положения воспроизведения.</dd>
+ <dd>Задаёт скорость анимации после синхронизации её положения воспроизведения.</dd>
</dl>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/attr/index.html b/files/ru/web/api/attr/index.html
index 303090a17a..c8e1ce971a 100644
--- a/files/ru/web/api/attr/index.html
+++ b/files/ru/web/api/attr/index.html
@@ -17,23 +17,23 @@ translation_of: Web/API/Attr
<dt>{{domxref("Attr.name", "name")}} {{readOnlyInline}}</dt>
<dd>Имя атрибута.</dd>
<dt>{{domxref("Attr.namespaceURI", "namespaceURI")}} {{readOnlyInline}}</dt>
- <dd>{{domxref("DOMString")}}<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);"> </span></font>представление URI пространства имен атрибута, или NULL если нет никакого пространства имен.</dd>
+ <dd>{{domxref("DOMString")}}<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);"> </span></font>представление URI пространства имён атрибута, или NULL если нет никакого пространства имен.</dd>
<dt>{{domxref("Attr.localName", "localName")}} {{readOnlyInline}}</dt>
<dd>{{domxref("DOMString")}}  представление локальной части полного имени атрибута.</dd>
<dt>{{domxref("Attr.prefix", "prefix")}} {{readOnlyInline}}</dt>
- <dd>{{domxref("DOMString")}}  представление префикс пространства имен атрибута, или NULL, если префикс не указан.</dd>
+ <dd>{{domxref("DOMString")}}  представление префикс пространства имён атрибута, или NULL, если префикс не указан.</dd>
<dt>{{domxref("Attr.ownerElement", "ownerElement")}} {{readOnlyInline}}</dt>
<dd>
<p>Элемент, содержащий атрибут.</p>
<div class="note">
- <p><strong>Примечание:</strong> DOM уровень 4 удалил это свойство.Предполагалось, что, поскольку Вы получаете объект Attr от {{domxref("Element")}}, вы заранее должны знать связанный элемент.  Поскольку это не верно в случаях, подобных объектам Attr, возвращаемым  {{domxref("Document.evaluate")}}, DOM уровень жизни вновь ввел это свойство. </p>
+ <p><strong>Примечание:</strong> DOM уровень 4 удалил это свойство.Предполагалось, что, поскольку Вы получаете объект Attr от {{domxref("Element")}}, вы заранее должны знать связанный элемент.  Поскольку это не верно в случаях, подобных объектам Attr, возвращаемым  {{domxref("Document.evaluate")}}, DOM уровень жизни вновь ввёл это свойство. </p>
<p>Gecko выводит предупреждение об использовании, начиная с Gecko 7.0 {{geckoRelease("7.0")}}. Это предупреждение было удалено в Gecko 49.0 (Firefox 49.0 / Thunderbird 49.0 / SeaMonkey 2.46).</p>
</div>
</dd>
<dt>{{domxref("Attr.specified", "specified")}} {{readOnlyInline}}</dt>
- <dd>Это свойство всегда возвращает true. Первоначально, оно возвращало true, если атрибут был явно определен в исходном коде или сценарием и false, если ее значение прибыло из значения по умолчанию  определенном в DTD документе.</dd>
+ <dd>Это свойство всегда возвращает true. Первоначально, оно возвращало true, если атрибут был явно определён в исходном коде или сценарием и false, если её значение прибыло из значения по умолчанию  определённом в DTD документе.</dd>
<dt>{{domxref("Attr.value", "value")}}</dt>
<dd>Значение атрибута</dd>
</dl>
@@ -74,7 +74,7 @@ translation_of: Web/API/Attr
<dt><code>previousSibling</code></dt>
<dd>Это свойство всегда возвращает значение  <code>NULL</code>.</dd>
<dt><code>schemaTypeInfo</code> {{obsolete_inline}} {{readOnlyInline}}</dt>
- <dd>Сведения о типе, связанные с этим атрибутом. В то время как информация о типе, содержащаяся в этом атрибуте, гарантированно будет правильной после загрузки документа или вызова  {{domxref("Document.normalizeDocument")}}, это свойство может быть ненадежным, если узел был перемещен.</dd>
+ <dd>Сведения о типе, связанные с этим атрибутом. В то время как информация о типе, содержащаяся в этом атрибуте, гарантированно будет правильной после загрузки документа или вызова  {{domxref("Document.normalizeDocument")}}, это свойство может быть ненадёжным, если узел был перемещен.</dd>
<dt> </dt>
<dt><code>specified</code></dt>
<dd>Это свойство всегда возвращает значение  <code>true</code>.</dd>
diff --git a/files/ru/web/api/audiobuffer/index.html b/files/ru/web/api/audiobuffer/index.html
index b2972a1f78..f2d6e5e0e4 100644
--- a/files/ru/web/api/audiobuffer/index.html
+++ b/files/ru/web/api/audiobuffer/index.html
@@ -8,7 +8,7 @@ translation_of: Web/API/AudioBuffer
<div>
<h2 id="Сводка">Сводка</h2>
-<p><code>AudioBuffer</code> - это интерфейс короткого звукового ресурса (audio asset), находящегося в памяти и созданного из аудиофайла методом {{ domxref("AudioContext.decodeAudioData()") }}, или из исходных данных с помощью метода {{ domxref("AudioContext.createBuffer()") }}. Помещенные в AudioBuffer звуковые данные могут быть воспроизведены в  {{ domxref("AudioBufferSourceNode") }}.</p>
+<p><code>AudioBuffer</code> - это интерфейс короткого звукового ресурса (audio asset), находящегося в памяти и созданного из аудиофайла методом {{ domxref("AudioContext.decodeAudioData()") }}, или из исходных данных с помощью метода {{ domxref("AudioContext.createBuffer()") }}. Помещённые в AudioBuffer звуковые данные могут быть воспроизведены в  {{ domxref("AudioBufferSourceNode") }}.</p>
</div>
<p>Объекты этого типа предназначены для хранения небольших звуковых фрагментов, обычно менее 45 секунд. Для более длинных звуков, объекты реализующие {{domxref("MediaElementAudioSourceNode")}} являются более подходящими. Этот буфер содержит данные в формате неперемещаемого IEE754 32-битного линейного ИКМ с номинальным диапазоном от -1 до +1, то есть 32-битный буфер с плавающей точкой каждого звукового фрагмента (samples) от -1.0 до 1.0. Если {{domxref("AudioBuffer")}} имеет несколько каналов, то они хранятся в отдельном буфере.</p>
@@ -17,7 +17,7 @@ translation_of: Web/API/AudioBuffer
<dl>
<dt>{{domxref("AudioBuffer.AudioBuffer", "AudioBuffer()")}}</dt>
- <dd><span class="hidden"> </span>Создает и возвращает новый объект <code>AudioBuffer</code>.</dd>
+ <dd><span class="hidden"> </span>Создаёт и возвращает новый объект <code>AudioBuffer</code>.</dd>
<dt>
<h2 id="Свойства"><span class="hidden"> </span>Свойства</h2>
</dt>
@@ -49,7 +49,7 @@ translation_of: Web/API/AudioBuffer
<pre class="brush: js;highlight:[7,14,27]">// Стерео
var channels = 2;
-// Создает пустой двухсекундный стерео-буфер
+// Создаёт пустой двухсекундный стерео-буфер
// с частотой звука AudioContext (sample rate)
var frameCount = audioCtx.sampleRate * 2.0;
var myArrayBuffer = audioCtx.createBuffer(channels, frameCount, audioCtx.sampleRate);
diff --git a/files/ru/web/api/audiocontext/createmediaelementsource/index.html b/files/ru/web/api/audiocontext/createmediaelementsource/index.html
index 87e504f6c6..6693ef14dc 100644
--- a/files/ru/web/api/audiocontext/createmediaelementsource/index.html
+++ b/files/ru/web/api/audiocontext/createmediaelementsource/index.html
@@ -42,11 +42,11 @@ var myScript = document.querySelector('script');
pre.innerHTML = myScript.innerHTML;
-// Создаем MediaElementAudioSourceNode
+// Создаём MediaElementAudioSourceNode
// На основе HTMLMediaElement
var source = audioCtx.createMediaElementSource(myAudio);
-// Создаем узел контроля громкости (усиления)
+// Создаём узел контроля громкости (усиления)
var gainNode = audioCtx.createGain();
// Переменные, содержащие Y координату курсора мыши
diff --git a/files/ru/web/api/audiocontext/index.html b/files/ru/web/api/audiocontext/index.html
index 17b32839d0..ad057ccfe6 100644
--- a/files/ru/web/api/audiocontext/index.html
+++ b/files/ru/web/api/audiocontext/index.html
@@ -66,7 +66,7 @@ translation_of: Web/API/AudioContext
<dt>{{domxref("AudioContext.createOscillator()")}}</dt>
<dd>Создаёт объект {{domxref("OscillatorNode")}}, источник, представляющий собой периодическую волну звукового сигнала.</dd>
<dt>{{domxref("AudioContext.createPanner()")}}</dt>
- <dd>Создаёт объект {{domxref("PannerNode")}}, который используется для пространственного определения аудио-потока в трехмерном пространстве.</dd>
+ <dd>Создаёт объект {{domxref("PannerNode")}}, который используется для пространственного определения аудио-потока в трёхмерном пространстве.</dd>
<dt>{{domxref("AudioContext.createPeriodicWave()")}}</dt>
<dd>Создаёт объект {{domxref("PeriodicWave")}}, используемый для определения периодической волны звукового сигнала, которая, в свою очередь, используется для определения вывода в {{ domxref("OscillatorNode") }}.</dd>
<dt>{{domxref("AudioContext.createWaveShaper()")}}</dt>
diff --git a/files/ru/web/api/audionode/index.html b/files/ru/web/api/audionode/index.html
index f4b7693230..57b2f450a2 100644
--- a/files/ru/web/api/audionode/index.html
+++ b/files/ru/web/api/audionode/index.html
@@ -4,7 +4,7 @@ slug: Web/API/AudioNode
translation_of: Web/API/AudioNode
---
<p>{{ APIRef("Web Audio API") }}<br>
- <strong>AudioNode </strong>это общий интерфейс для описания модулей обработки аудио таких как источники звука (например HTML элементы {{HTMLElement("audio")}} или {{HTMLElement("video")}}), генераторы звука (например {{domxref("OscillatorNode")}} и т.п.), приемники звука для модулей производящих обработку звука (например {{domxref("BiquadFilterNode")}} или {{domxref("ConvolverNode")}}), или регуляторы громкости (например {{domxref("GainNode")}}). </p>
+ <strong>AudioNode </strong>это общий интерфейс для описания модулей обработки аудио таких как источники звука (например HTML элементы {{HTMLElement("audio")}} или {{HTMLElement("video")}}), генераторы звука (например {{domxref("OscillatorNode")}} и т.п.), приёмники звука для модулей производящих обработку звука (например {{domxref("BiquadFilterNode")}} или {{domxref("ConvolverNode")}}), или регуляторы громкости (например {{domxref("GainNode")}}). </p>
<p><img alt="AudioNodes participating in an AudioContext create a audio routing graph." src="https://mdn.mozillademos.org/files/9713/WebAudioBasics.png" style="display: block; height: 230px; margin: 0px auto; width: 677px;"></p>
@@ -25,7 +25,7 @@ translation_of: Web/API/AudioNode
<dl>
<dt>{{domxref("AudioNode.numberOfInputs")}} {{readonlyInline}}</dt>
- <dd>Возвращает количество входов узла. Узлы определенные как источники имеют <code>numberOfInputs</code> равное 0.</dd>
+ <dd>Возвращает количество входов узла. Узлы определённые как источники имеют <code>numberOfInputs</code> равное 0.</dd>
</dl>
<dl>
@@ -56,7 +56,7 @@ translation_of: Web/API/AudioNode
<dt>{{domxref("AudioNode.connect(AudioParam)")}}</dt>
<dd>Позволяет нам подключить один выход данного узла на параметрический вход другого.</dd>
<dt>{{domxref("AudioNode.disconnect()")}}</dt>
- <dd>Позволяет нам отключить текущий узел от другого, уже подключенного узла.</dd>
+ <dd>Позволяет нам отключить текущий узел от другого, уже подключённого узла.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/api/audioparam/setvalueattime/index.html b/files/ru/web/api/audioparam/setvalueattime/index.html
index f60d3e7d99..202e13d971 100644
--- a/files/ru/web/api/audioparam/setvalueattime/index.html
+++ b/files/ru/web/api/audioparam/setvalueattime/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/AudioParam/setValueAtTime
---
<p>{{ APIRef("Web Audio API") }}</p>
-<p class="summary"><code>setValueAtTime()</code> метод интерфейса {{domxref("AudioParam")}} позволяющий мгновенно точно по времени изменять значение <code>AudioParam</code> , сравнивая с {{domxref("AudioContext.currentTime")}}. Новое значение дается в значении параметра.</p>
+<p class="summary"><code>setValueAtTime()</code> метод интерфейса {{domxref("AudioParam")}} позволяющий мгновенно точно по времени изменять значение <code>AudioParam</code> , сравнивая с {{domxref("AudioContext.currentTime")}}. Новое значение даётся в значении параметра.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/baseaudiocontext/createpanner/index.html b/files/ru/web/api/baseaudiocontext/createpanner/index.html
index 83a8089d44..9d4161e184 100644
--- a/files/ru/web/api/baseaudiocontext/createpanner/index.html
+++ b/files/ru/web/api/baseaudiocontext/createpanner/index.html
@@ -24,13 +24,13 @@ var panner = audioCtx.createPanner();</pre>
<h2 id="Пример">Пример</h2>
<div class="note_trans">
-<div>Ниже можно увидеть пример использования {{domxref("AudioListener")}}, {{domxref("PannerNode")}} и метода <code>createPanner()</code> для управления пространством объемного звука. Обычно определяется положение в трехмерном пространстве, изначально занимаемое обработчиком (listener) и источником звука (panner), а затем, при использовании приложения, обновляется позиция одного из них или обоих. Например, вы можете перемещать персонажа внутри игрового мира, и желательно чтобы передача звука изменялась реалистично, по мере приближения или отдаления персонажа относительно источника звука, вроде стереопроигрывателя. В этом примере можно видеть, что все это управляется функциями <code>moveRight()</code>, <code>moveLeft()</code>, и т.п., которые устанавливают новые значения для положения паннера через функцию <code>PositionPanner()</code>.</div>
+<div>Ниже можно увидеть пример использования {{domxref("AudioListener")}}, {{domxref("PannerNode")}} и метода <code>createPanner()</code> для управления пространством объёмного звука. Обычно определяется положение в трёхмерном пространстве, изначально занимаемое обработчиком (listener) и источником звука (panner), а затем, при использовании приложения, обновляется позиция одного из них или обоих. Например, вы можете перемещать персонажа внутри игрового мира, и желательно чтобы передача звука изменялась реалистично, по мере приближения или отдаления персонажа относительно источника звука, вроде стереопроигрывателя. В этом примере можно видеть, что все это управляется функциями <code>moveRight()</code>, <code>moveLeft()</code>, и т.п., которые устанавливают новые значения для положения паннера через функцию <code>PositionPanner()</code>.</div>
<div> </div>
<div>
<div class="note_trans">
-<div>Чтобы увидеть полную реализацию ознакомьтесь с нашим <a href="https://mdn.github.io/webaudio-examples/panner-node/">примером panner-node</a> (<a href="https://mdn.github.io/webaudio-examples/">просмотрите весь список примеров</a>) — эта демонстрация перенесет вас в 2.5D "Room of metal" (2,5-мерную "металлическую комнату"), где можно проиграть трек на <a class="popupspot">бумбоксе</a> и затем походить вокруг него и посмотреть как изменяется звук!</div>
+<div>Чтобы увидеть полную реализацию ознакомьтесь с нашим <a href="https://mdn.github.io/webaudio-examples/panner-node/">примером panner-node</a> (<a href="https://mdn.github.io/webaudio-examples/">просмотрите весь список примеров</a>) — эта демонстрация перенесёт вас в 2.5D "Room of metal" (2,5-мерную "металлическую комнату"), где можно проиграть трек на <a class="popupspot">бумбоксе</a> и затем походить вокруг него и посмотреть как изменяется звук!</div>
<div> </div>
</div>
diff --git a/files/ru/web/api/beacon_api/index.html b/files/ru/web/api/beacon_api/index.html
index 984c00117d..1e33abb3df 100644
--- a/files/ru/web/api/beacon_api/index.html
+++ b/files/ru/web/api/beacon_api/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/Beacon_API
<p>Например, вариантом использования Beacon API может быть логирование активности или отправка аналитики на сервер.</p>
-<p>Пример кода интерфейсов, описанных в этом документе, включен в раздел <em><a href="/Web/API/Beacon_API/Using_the_Beacon_API">Использование Beacon API</a></em>.</p>
+<p>Пример кода интерфейсов, описанных в этом документе, включён в раздел <em><a href="/Web/API/Beacon_API/Using_the_Beacon_API">Использование Beacon API</a></em>.</p>
@@ -23,11 +23,11 @@ translation_of: Web/API/Beacon_API
<p>Интерфейс <code>Beacon</code> отвечает потребностям аналитического и диагностического кода, который обычно пытается отправить данные на веб-сервер перед выгрузкой документа. Отправка данных хоть на секунду раньше может привести к упущенной возможности сбора данных. В любом случае, обеспечение того, чтобы данные отправлялись во время выгрузки документа, является чем-то, что традиционно было трудным для разработчиков.</p>
-<p>Пользовательские браузеры обычно игнорируют асинхронные  {{domxref("XMLHttpRequest","XMLHttpRequests")}} сделанные в обработчике выгрузки. Для решения этой проблемы, аналитический и диагностический код обычно создает синхронный {{domxref("XMLHttpRequest")}} в обработчике {{event("unload")}} или {{event("beforeunload")}} для отправки данных. Синхронный {{domxref("XMLHttpRequest")}} заставляет браузер отложить выгрузку документа и делает следующую навигацию более медленной. Следующая страница ничего не может сделать, чтобы избежать этого ощущения низкой производительности при загрузке страницы. </p>
+<p>Пользовательские браузеры обычно игнорируют асинхронные  {{domxref("XMLHttpRequest","XMLHttpRequests")}} сделанные в обработчике выгрузки. Для решения этой проблемы, аналитический и диагностический код обычно создаёт синхронный {{domxref("XMLHttpRequest")}} в обработчике {{event("unload")}} или {{event("beforeunload")}} для отправки данных. Синхронный {{domxref("XMLHttpRequest")}} заставляет браузер отложить выгрузку документа и делает следующую навигацию более медленной. Следующая страница ничего не может сделать, чтобы избежать этого ощущения низкой производительности при загрузке страницы. </p>
-<p>Есть и другие методы, используемые для проверки предоставления данных. Одним из таких методов является задержка отправки данных путем создания элемента Image и установки его атрибута <code>src</code> в обработчике выгрузки. Поскольку большинство браузеров откладывают выгрузку для завершения ожидающей загрузки изображения, данные могут быть отправлены во время выгрузки. Другой метод заключается в создании неработающего цикла, который  в течение нескольких секунд будет висеть в обработчике выгрузки, чтобы задержать выгрузку и отправить данные на сервер.</p>
+<p>Есть и другие методы, используемые для проверки предоставления данных. Одним из таких методов является задержка отправки данных путём создания элемента Image и установки его атрибута <code>src</code> в обработчике выгрузки. Поскольку большинство браузеров откладывают выгрузку для завершения ожидающей загрузки изображения, данные могут быть отправлены во время выгрузки. Другой метод заключается в создании неработающего цикла, который  в течение нескольких секунд будет висеть в обработчике выгрузки, чтобы задержать выгрузку и отправить данные на сервер.</p>
-<p>Эти методы представляют плохие шаблоны программирования, некоторые из них ненадежны и приводят к восприятию плохой производительности при загрузке страницы для следующей навигации. API-интерфейс Beacon предоставляет стандартный способ решения этих проблем.</p>
+<p>Эти методы представляют плохие шаблоны программирования, некоторые из них ненадёжны и приводят к восприятию плохой производительности при загрузке страницы для следующей навигации. API-интерфейс Beacon предоставляет стандартный способ решения этих проблем.</p>
<h2 id="Глобальный_контекст">Глобальный контекст</h2>
diff --git a/files/ru/web/api/beforeinstallpromptevent/index.html b/files/ru/web/api/beforeinstallpromptevent/index.html
index a9359fddfe..ab241f8f1d 100644
--- a/files/ru/web/api/beforeinstallpromptevent/index.html
+++ b/files/ru/web/api/beforeinstallpromptevent/index.html
@@ -22,7 +22,7 @@ translation_of: Web/API/BeforeInstallPromptEvent
<dl>
<dt>{{domxref("BeforeInstallPromptEvent.BeforeInstallPromptEvent","BeforeInstallPromptEvent()")}}</dt>
- <dd>Создает новый <code><strong>BeforeInstallPromptEvent</strong></code>.</dd>
+ <dd>Создаёт новый <code><strong>BeforeInstallPromptEvent</strong></code>.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/blob/blob/index.html b/files/ru/web/api/blob/blob/index.html
index b1ed2d7bc1..6969b073ff 100644
--- a/files/ru/web/api/blob/blob/index.html
+++ b/files/ru/web/api/blob/blob/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Blob/Blob
---
<p>{{APIRef("File API")}}</p>
-<p><code><font face="Open Sans, Arial, sans-serif">Конструктор </font><strong>Blob()</strong></code> возвращает новый объект {{domxref("Blob")}}. Содержимое blob состоит из объединенных значений, переданных в параметре <em>array</em>.</p>
+<p><code><font face="Open Sans, Arial, sans-serif">Конструктор </font><strong>Blob()</strong></code> возвращает новый объект {{domxref("Blob")}}. Содержимое blob состоит из объединённых значений, переданных в параметре <em>array</em>.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/blob/index.html b/files/ru/web/api/blob/index.html
index a256ce6a5f..445e8da297 100644
--- a/files/ru/web/api/blob/index.html
+++ b/files/ru/web/api/blob/index.html
@@ -73,7 +73,7 @@ var myBlob = builder.getBlob('text/xml');
<h3 id="Создание_URL_для_содержимого_типизированного_массива">Создание URL для содержимого типизированного массива</h3>
-<p>Следующий код создает типизированный массив JavaScript и создает новый <code>Blob</code>, содержащий данные типизированного массива. Затем вызывается {{DOMxRef("URL.createObjectURL()")}} для преобразования blob в {{glossary("URL")}}.</p>
+<p>Следующий код создаёт типизированный массив JavaScript и создаёт новый <code>Blob</code>, содержащий данные типизированного массива. Затем вызывается {{DOMxRef("URL.createObjectURL()")}} для преобразования blob в {{glossary("URL")}}.</p>
<h4 id="HTML">HTML</h4>
@@ -84,7 +84,7 @@ var myBlob = builder.getBlob('text/xml');
<h4 id="JavaScript">JavaScript</h4>
-<p>Основной частью этого кода для примера является функция <code>typedArrayToURL()</code>, которая создает <code>Blob</code> из переданного типизированного массива и возвращает объект URL для него. Преобразовав данные в URL объекта, их можно использовать несколькими способами, в том числе, в качестве значения атрибута {{htmlattrxref("src", "img")}} элементов {{HTMLElement("img")}} (конечно, при условии, что данные содержат изображение).</p>
+<p>Основной частью этого кода для примера является функция <code>typedArrayToURL()</code>, которая создаёт <code>Blob</code> из переданного типизированного массива и возвращает объект URL для него. Преобразовав данные в URL объекта, их можно использовать несколькими способами, в том числе, в качестве значения атрибута {{htmlattrxref("src", "img")}} элементов {{HTMLElement("img")}} (конечно, при условии, что данные содержат изображение).</p>
<pre class="brush: js">function typedArrayToURL(typedArray, mimeType) {
return URL.createObjectURL(new Blob([typedArray.buffer], {type: mimeType}))
diff --git a/files/ru/web/api/blob/slice/index.html b/files/ru/web/api/blob/slice/index.html
index f0e5eaf4df..384577a82c 100644
--- a/files/ru/web/api/blob/slice/index.html
+++ b/files/ru/web/api/blob/slice/index.html
@@ -17,9 +17,9 @@ translation_of: Web/API/Blob/slice
<dl>
<dt><code>start</code> {{optional_inline}}</dt>
- <dd>Индекс в {{domxref("Blob")}} указывающий первый байт, включенный в новый {{domxref("Blob")}}. Если указать отрицательное значение, это будет рассматриваться, как смещение с конца строки к началу. К примеру, -10 будет 10-ым от последнего байта {{domxref("Blob")}}. Значение по умолчанию равно 0. Если указать значение <code>start</code>, которое больше размера источника {{domxref("Blob")}}, размер возвращаемого {{domxref("Blob")}} будет равен 0 и не будет содержать данных.</dd>
+ <dd>Индекс в {{domxref("Blob")}} указывающий первый байт, включённый в новый {{domxref("Blob")}}. Если указать отрицательное значение, это будет рассматриваться, как смещение с конца строки к началу. К примеру, -10 будет 10-ым от последнего байта {{domxref("Blob")}}. Значение по умолчанию равно 0. Если указать значение <code>start</code>, которое больше размера источника {{domxref("Blob")}}, размер возвращаемого {{domxref("Blob")}} будет равен 0 и не будет содержать данных.</dd>
<dt><code>end</code> {{optional_inline}}</dt>
- <dd>Индекс в {{domxref("Blob")}} указывающий первый байт, который <strong>не</strong> будет включен в новый {{domxref("Blob")}} (т.е. байт с этим индексом не будет включен). Если указать отрицательное значение, это будет рассматриваться, как смещение с конца строки к началу. К примеру, -10 будет 10-ым от последнего байта {{domxref("Blob")}}. Значение по умолчанию равно <code>size</code>.</dd>
+ <dd>Индекс в {{domxref("Blob")}} указывающий первый байт, который <strong>не</strong> будет включён в новый {{domxref("Blob")}} (т.е. байт с этим индексом не будет включён). Если указать отрицательное значение, это будет рассматриваться, как смещение с конца строки к началу. К примеру, -10 будет 10-ым от последнего байта {{domxref("Blob")}}. Значение по умолчанию равно <code>size</code>.</dd>
<dt><code>contentType</code> {{optional_inline}}</dt>
<dd>Тип содержимого нового {{domxref("Blob")}}; это будет значение его свойства <code>type</code>. Значение по умолчанию - пустая строка.</dd>
</dl>
diff --git a/files/ru/web/api/bluetoothremotegattserver/index.html b/files/ru/web/api/bluetoothremotegattserver/index.html
index f99ea7c5c1..3f5fad78b7 100644
--- a/files/ru/web/api/bluetoothremotegattserver/index.html
+++ b/files/ru/web/api/bluetoothremotegattserver/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/BluetoothRemoteGATTServer
---
<div>{{APIRef("Bluetooth API")}}{{SeeCompatTable}}</div>
-<p>Интерфейс <code><strong>BluetoothRemoteGATTServer</strong></code>, относящийся к <a href="/en-US/docs/Web/API/Web_Bluetooth_API">Web Bluetooth API</a>, представляет сервер GATT на удаленном устройстве.</p>
+<p>Интерфейс <code><strong>BluetoothRemoteGATTServer</strong></code>, относящийся к <a href="/en-US/docs/Web/API/Web_Bluetooth_API">Web Bluetooth API</a>, представляет сервер GATT на удалённом устройстве.</p>
<div class="note">
<p>Данная страница описывает Web Bluetooth API от W3C Community Group. <a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGattServer"><code>BluetoothGattServer</code> (Firefox OS)</a> - Bluetooth API в Firefox OS.</p>
diff --git a/files/ru/web/api/body/arraybuffer/index.html b/files/ru/web/api/body/arraybuffer/index.html
index 7aff670eb7..31402b8a22 100644
--- a/files/ru/web/api/body/arraybuffer/index.html
+++ b/files/ru/web/api/body/arraybuffer/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Body/arrayBuffer
---
<div>{{APIRef("Fetch")}}</div>
-<p>Метод <strong><code>arrayBuffer()</code></strong> из примеси(mixin) {{domxref("Body")}} берет поток(stream) {{domxref("Response")}} и читает его до завершения. Он возвращает промис, который будет успешно завершен с помощью {{domxref("ArrayBuffer")}}.</p>
+<p>Метод <strong><code>arrayBuffer()</code></strong> из примеси(mixin) {{domxref("Body")}} берет поток(stream) {{domxref("Response")}} и читает его до завершения. Он возвращает промис, который будет успешно завершён с помощью {{domxref("ArrayBuffer")}}.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -32,9 +32,9 @@ translation_of: Web/API/Body/arrayBuffer
<pre class="brush: js">new Audio(music.ogg).play()
</pre>
-<p>В функции <code>getData()</code> мы создаем новый запрос используя конструктор {{domxref("Request.Request")}}, после этого используем его чтобы загрузить OGG звук. Мы также используем {{domxref("AudioContext.createBufferSource")}} чтобы создать ресурс аудиобуффера. При успешном завершении запроса, мы считываем {{domxref("ArrayBuffer")}} из ответа используя <code>arrayBuffer()</code>, декодируем аудио с помощью {{domxref("AudioContext.decodeAudioData")}}, устанавливаем раскодированные данные как ресурс аудио буфера (<code>source.buffer</code>), затем используем данные этого ресурса в  {{domxref("AudioContext.destination")}}.</p>
+<p>В функции <code>getData()</code> мы создаём новый запрос используя конструктор {{domxref("Request.Request")}}, после этого используем его чтобы загрузить OGG звук. Мы также используем {{domxref("AudioContext.createBufferSource")}} чтобы создать ресурс аудиобуффера. При успешном завершении запроса, мы считываем {{domxref("ArrayBuffer")}} из ответа используя <code>arrayBuffer()</code>, декодируем аудио с помощью {{domxref("AudioContext.decodeAudioData")}}, устанавливаем раскодированные данные как ресурс аудио буфера (<code>source.buffer</code>), затем используем данные этого ресурса в  {{domxref("AudioContext.destination")}}.</p>
-<p>Когда функция <code>getData()</code> заканчивает свое выполнение, мы стартуем проигрывание аудио ресурса функцией <code>start(0)</code>, потом блокируем кнопку проигрывания для предотвращения повторного проигрывания (это может привести к ошибкам)</p>
+<p>Когда функция <code>getData()</code> заканчивает своё выполнение, мы стартуем проигрывание аудио ресурса функцией <code>start(0)</code>, потом блокируем кнопку проигрывания для предотвращения повторного проигрывания (это может привести к ошибкам)</p>
<pre class="brush: js">function getData() {
source = audioCtx.createBufferSource();
diff --git a/files/ru/web/api/body/json/index.html b/files/ru/web/api/body/json/index.html
index 47b40dee49..76811b032b 100644
--- a/files/ru/web/api/body/json/index.html
+++ b/files/ru/web/api/body/json/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Body/json
---
<div>{{APIRef("Fetch")}}</div>
-<p>Метод <strong><code>json()</code></strong> , определен на миксине {{domxref("Body")}}, который включён в объектах <a href="https://developer.mozilla.org/ru/docs/Web/API/Request" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Request</code></a> и <a href="https://developer.mozilla.org/ru/docs/Web/API/Response" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Response</code></a>, принимает и читает тело {{domxref("Response")}} stream. Возвращает promise (обещание), который, когда ответ будет получен, вызовет колбэк с результатом парсинга тела ответа в {{jsxref("JSON")}} объект.</p>
+<p>Метод <strong><code>json()</code></strong> , определён на миксине {{domxref("Body")}}, который включён в объектах <a href="https://developer.mozilla.org/ru/docs/Web/API/Request" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Request</code></a> и <a href="https://developer.mozilla.org/ru/docs/Web/API/Response" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Response</code></a>, принимает и читает тело {{domxref("Response")}} stream. Возвращает promise (обещание), который, когда ответ будет получен, вызовет колбэк с результатом парсинга тела ответа в {{jsxref("JSON")}} объект.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -27,7 +27,7 @@ translation_of: Web/API/Body/json
<h2 id="Пример">Пример</h2>
-<p>В нашем <a href="https://github.com/mdn/fetch-examples/tree/master/fetch-json">fetch json примере</a> (запустите <a href="http://mdn.github.io/fetch-examples/fetch-json/">fetch json live</a>), мы создаем новый запрос, используя {{domxref("Request.Request")}} конструктор, в последствии мы используем его (запрос) для получения <code>.json</code> файла. Когда fetch запрос будет выполнен, мы прочтем и спарсим данные, используя <code>json()</code>, а далее вставим значения из полученного объекта в list элементы списка для отображения данных по нашему продукту.</p>
+<p>В нашем <a href="https://github.com/mdn/fetch-examples/tree/master/fetch-json">fetch json примере</a> (запустите <a href="http://mdn.github.io/fetch-examples/fetch-json/">fetch json live</a>), мы создаём новый запрос, используя {{domxref("Request.Request")}} конструктор, в последствии мы используем его (запрос) для получения <code>.json</code> файла. Когда fetch запрос будет выполнен, мы прочтём и спарсим данные, используя <code>json()</code>, а далее вставим значения из полученного объекта в list элементы списка для отображения данных по нашему продукту.</p>
<pre class="brush: js">var myList = document.querySelector('ul');
@@ -64,7 +64,7 @@ fetch(myRequest)
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад, пожалуйста пожалуйста проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад, пожалуйста пожалуйста проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div>
<p>{{Compat("api.Body.json")}}</p>
diff --git a/files/ru/web/api/broadcastchannel/index.html b/files/ru/web/api/broadcastchannel/index.html
index b898960fe3..1f3a792ce0 100644
--- a/files/ru/web/api/broadcastchannel/index.html
+++ b/files/ru/web/api/broadcastchannel/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/BroadcastChannel
<dl>
<dt>{{domxref("BroadcastChannel.BroadcastChannel", "BroadcastChannel()")}}</dt>
- <dd>Создает объект, связанный с именованным каналом.</dd>
+ <dd>Создаёт объект, связанный с именованным каналом.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -27,7 +27,7 @@ translation_of: Web/API/BroadcastChannel
<h3 id="Обработчики_событий">Обработчики событий</h3>
</dt>
<dt>{{domxref("BroadcastChannel.onmessage")}}</dt>
- <dd>{{domxref("EventHandler")}} свойство, определяющее функцию, которая будет запущена, когда произойдет вызов события {{event("message")}} на этом объекте.</dd>
+ <dd>{{domxref("EventHandler")}} свойство, определяющее функцию, которая будет запущена, когда произойдёт вызов события {{event("message")}} на этом объекте.</dd>
<dt>{{domxref("BroadcastChannel.onmessageerror")}}</dt>
<dd>{{domxref("EventHandler")}}, который вызывается, когда приходит {{domxref("MessageEvent")}} типа {{domxref("MessageError")}} — когда приходит сообщение, которое не может быть десереализовано.</dd>
</dl>
diff --git a/files/ru/web/api/broadcastchannel/postmessage/index.html b/files/ru/web/api/broadcastchannel/postmessage/index.html
index abbb139478..39bf32b534 100644
--- a/files/ru/web/api/broadcastchannel/postmessage/index.html
+++ b/files/ru/web/api/broadcastchannel/postmessage/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/BroadcastChannel/postMessage
---
<p>{{APIRef("BroadCastChannel API")}}</p>
-<p><strong><code>BroadcastChannel.postMessage()</code></strong> отправляет сообщение, которое может быть любым {{jsxref("Object", "объектом")}}, каждому обработчику в {{glossary("browsing context", "контексте браузера")}} с тем же {{glossary("origin")}}. Сообщение передается в виде события {{event("message")}} к каждому <code>BroadcastChannel</code>, привязанному к данному каналу.</p>
+<p><strong><code>BroadcastChannel.postMessage()</code></strong> отправляет сообщение, которое может быть любым {{jsxref("Object", "объектом")}}, каждому обработчику в {{glossary("browsing context", "контексте браузера")}} с тем же {{glossary("origin")}}. Сообщение передаётся в виде события {{event("message")}} к каждому <code>BroadcastChannel</code>, привязанному к данному каналу.</p>
<p>{{AvailableInWorkers}}</p>
diff --git a/files/ru/web/api/cache/add/index.html b/files/ru/web/api/cache/add/index.html
index fd32f46b8c..ae88c76901 100644
--- a/files/ru/web/api/cache/add/index.html
+++ b/files/ru/web/api/cache/add/index.html
@@ -17,7 +17,7 @@ translation_of: Web/API/Cache/add
<p>Для более сложных операций, вам нужно использовать {{domxref("Cache.put","Cache.put()")}}.</p>
<div class="note">
-<p><strong>Замечание</strong>: <code>add()</code> перезапишет любую пару ключ/значение, сохраненную ранее в кеше, соответствующем запросу.</p>
+<p><strong>Замечание</strong>: <code>add()</code> перезапишет любую пару ключ/значение, сохранённую ранее в кеше, соответствующем запросу.</p>
</div>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/cache/addall/index.html b/files/ru/web/api/cache/addall/index.html
index 094912bdeb..d72262f99d 100644
--- a/files/ru/web/api/cache/addall/index.html
+++ b/files/ru/web/api/cache/addall/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/Cache/addAll
</div>
<div class="note">
-<p><strong>Замечание</strong>: Первоначальная реализация Cache (как в Blink, так и в Gecko) разрешает промисы {{domxref("Cache.add")}}, {{domxref("Cache.addAll")}}, и {{domxref("Cache.put")}} когда тело ответа полностью записано в хранилище. Более поздние версии спецификации говорят, что браузер может разрешить промис как только данные были записаны в базу данных, даже если тело ответа еще формируется.</p>
+<p><strong>Замечание</strong>: Первоначальная реализация Cache (как в Blink, так и в Gecko) разрешает промисы {{domxref("Cache.add")}}, {{domxref("Cache.addAll")}}, и {{domxref("Cache.put")}} когда тело ответа полностью записано в хранилище. Более поздние версии спецификации говорят, что браузер может разрешить промис как только данные были записаны в базу данных, даже если тело ответа ещё формируется.</p>
</div>
<div class="note">
diff --git a/files/ru/web/api/cache/delete/index.html b/files/ru/web/api/cache/delete/index.html
index 5efa82b44a..846ccc2a0c 100644
--- a/files/ru/web/api/cache/delete/index.html
+++ b/files/ru/web/api/cache/delete/index.html
@@ -29,7 +29,7 @@ translation_of: Web/API/Cache/delete
<li><code>ignoreSearch</code>: Булево значение {{domxref("Boolean")}}, которое определяет будет ли процесс сопоставления игнорировать строку запроса в url.  Если установлено в <code>true</code>, часть <code>?value=bar</code> запроса <code>http://foo.com/?value=bar</code> будет проигнорирована при сопоставлении ключей. По умолчанию установлено в <code>false</code>.</li>
<li><code>ignoreMethod</code>: Булево значение {{domxref("Boolean")}}, которое, если равно <code>true</code>, предотвращает проверку {{domxref("Request")}} при сопоставлении ключей на <code>HTTP</code> метод (обычно допускаются только <code>GET</code> и <code>HEAD</code>). По умолчанию установлено в <code>false</code>.</li>
<li><code>ignoreVary</code>: Булево значение {{domxref("Boolean")}}, которое, если равно <code>true,</code> указывает операции сопоставления ключей не проводить проверку заголовка <code>VARY</code>.  Другими словами, если URL совпадает, вы получите соответствие, независимо от того, есть ли заголовок <code>VARY </code>на объекте запроса {{domxref("Response")}}. По умолчанию установлено в <code>false</code>.</li>
- <li><code>cacheName</code>: Строка {{domxref("DOMString")}}, которая представляет собой определенный кеш, в котором вести поиск. Заметьте, что этот параметр игнорируется методом <code>Cache.delete()</code>.</li>
+ <li><code>cacheName</code>: Строка {{domxref("DOMString")}}, которая представляет собой определённый кеш, в котором вести поиск. Заметьте, что этот параметр игнорируется методом <code>Cache.delete()</code>.</li>
</ul>
</dd>
</dl>
diff --git a/files/ru/web/api/cache/index.html b/files/ru/web/api/cache/index.html
index 53bfe013d4..dc5d273133 100644
--- a/files/ru/web/api/cache/index.html
+++ b/files/ru/web/api/cache/index.html
@@ -5,18 +5,18 @@ translation_of: Web/API/Cache
---
<p>{{APIRef("Service Workers API")}}{{SeeCompatTable}}</p>
-<p>Интерфейс <strong><code>Cache</code></strong> представляет собой механизм хранения пары объектов <code><a href="http://fetch.spec.whatwg.org/#request">Request</a></code> / <code><a href="http://fetch.spec.whatwg.org/#response">Response</a>,</code> которые кешируются, например, как часть жизненного цикла {{domxref("ServiceWorker")}}. Заметьте, что интерфейс Cache доступен как в области видимости окна, так и в области видимости воркеров. Не обязательно использовать его вместе с сервис воркерами, даже если интерфейс определен в их спецификации.</p>
+<p>Интерфейс <strong><code>Cache</code></strong> представляет собой механизм хранения пары объектов <code><a href="http://fetch.spec.whatwg.org/#request">Request</a></code> / <code><a href="http://fetch.spec.whatwg.org/#response">Response</a>,</code> которые кешируются, например, как часть жизненного цикла {{domxref("ServiceWorker")}}. Заметьте, что интерфейс Cache доступен как в области видимости окна, так и в области видимости воркеров. Не обязательно использовать его вместе с сервис воркерами, даже если интерфейс определён в их спецификации.</p>
-<p>Для вызывающего скрипта может быть множество именованных объектов <code>Cache</code>. Разработчик сам определяет реализацию того, как скрипт (например, в  {{domxref("ServiceWorker")}}) управляет обновлением <code>Cache</code>. Записи в <code>Cache</code> не будут обновлены, пока не будет выполнен явный запрос; их время жизни не истечет до момента удаления. Используйте {{domxref("CacheStorage.open", "CacheStorage.open(cacheName)")}}, чтобы открыть определенный именованный объект <code>Cache </code>и затем вызывайте любые методы<code> Cache </code>для управления его состоянием.</p>
+<p>Для вызывающего скрипта может быть множество именованных объектов <code>Cache</code>. Разработчик сам определяет реализацию того, как скрипт (например, в  {{domxref("ServiceWorker")}}) управляет обновлением <code>Cache</code>. Записи в <code>Cache</code> не будут обновлены, пока не будет выполнен явный запрос; их время жизни не истечёт до момента удаления. Используйте {{domxref("CacheStorage.open", "CacheStorage.open(cacheName)")}}, чтобы открыть определённый именованный объект <code>Cache </code>и затем вызывайте любые методы<code> Cache </code>для управления его состоянием.</p>
-<p>Вы также ответственны за периодическую очистку записей кеша. Каждый браузер имеет жесткие ограничения на объем хранилища кеша, доступный для исходного кода. Браузер делает все, чтобы как можно лучше использовать дисковое пространство, но он может удалить хранилище кеша для скрипта. В основном, браузер либо удаляет все данные из кеша для скрипта, либо не удаляет ничего. Устанавливайте версии кеша в имени и используйте кеш только той версии, которая безопасна для использования. Смотрите <a href="/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers#Deleting_old_caches">Удаление старого кеша</a>.</p>
+<p>Вы также ответственны за периодическую очистку записей кеша. Каждый браузер имеет жёсткие ограничения на объем хранилища кеша, доступный для исходного кода. Браузер делает все, чтобы как можно лучше использовать дисковое пространство, но он может удалить хранилище кеша для скрипта. В основном, браузер либо удаляет все данные из кеша для скрипта, либо не удаляет ничего. Устанавливайте версии кеша в имени и используйте кеш только той версии, которая безопасна для использования. Смотрите <a href="/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers#Deleting_old_caches">Удаление старого кеша</a>.</p>
<div class="note">
<p><strong>Замечание</strong>: {{domxref("Cache.put")}}, {{domxref("Cache.add")}} и {{domxref("Cache.addAll")}} допускают сохранение в кеш только <code>GET</code> запросов.</p>
</div>
<div class="note">
-<p><strong>Замечание</strong>: Изначально, реализация Cache (как в Blink, так и в Gecko) возвращала успешное завершение для промисов {{domxref("Cache.add")}}, {{domxref("Cache.addAll")}} и {{domxref("Cache.put")}}, когда тело ответа было полностью помещено в хранилище. Более поздние версии используют новейший язык, утверждая, что браузер может разрешить промис как только запись будет записана в базу данных, даже если тело ответа все еще загружается в потоке.</p>
+<p><strong>Замечание</strong>: Изначально, реализация Cache (как в Blink, так и в Gecko) возвращала успешное завершение для промисов {{domxref("Cache.add")}}, {{domxref("Cache.addAll")}} и {{domxref("Cache.put")}}, когда тело ответа было полностью помещено в хранилище. Более поздние версии используют новейший язык, утверждая, что браузер может разрешить промис как только запись будет записана в базу данных, даже если тело ответа все ещё загружается в потоке.</p>
</div>
<div class="note">
@@ -47,7 +47,7 @@ translation_of: Web/API/Cache
<dt>{{domxref("Cache.delete", "Cache.delete(request, options)")}}</dt>
<dd>Находит запись {{domxref("Cache")}}, чей ключ является запросом, и, в случае нахождения, удаляет запись {{domxref("Cache")}}  и возвращает {{jsxref("Promise")}}, успешно завершающийся со значением <code>true</code>. Если же запись  {{domxref("Cache")}} не найдена, возвращается <code>false</code>.</dd>
<dt>{{domxref("Cache.keys", "Cache.keys(request, options)")}}</dt>
- <dd>Возвращает {{jsxref("Promise")}}, который отдает массив ключей {{domxref("Cache")}}.</dd>
+ <dd>Возвращает {{jsxref("Promise")}}, который отдаёт массив ключей {{domxref("Cache")}}.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
@@ -56,9 +56,9 @@ translation_of: Web/API/Cache
<p>Далее используется {{domxref("Cache.match", "Cache.match(request, options)")}} для определения того, находится ли уже совпадающий шрифт в кеше, и, если так, то возвращает его. Если же совпадающего шрифта нет, код получает этот шрифт по сети и использует {{domxref("Cache.put","Cache.put(request, response)")}} для кеширования полученного ресурса.</p>
-<p>Код обрабатывает исключения, возможные при операции {{domxref("Globalfetch.fetch","fetch()")}}. Заметьте, что HTTP-ответ с ошибкой  (например, 404) не будет вызывать исключения. Будет возвращен нормальный объект ответа с установленным соответствующим кодом ошибки.</p>
+<p>Код обрабатывает исключения, возможные при операции {{domxref("Globalfetch.fetch","fetch()")}}. Заметьте, что HTTP-ответ с ошибкой  (например, 404) не будет вызывать исключения. Будет возвращён нормальный объект ответа с установленным соответствующим кодом ошибки.</p>
-<p>Также, пример описывает лучшие практики по заданию версий кеша при работе с сервис воркерами. И хотя в примере лишь один кеш, тот же подход может быть использован для множества кешей. Он сравнивает сокращенный идентификатор кеша с определенным, версионным именем кеша. Код также удаляет весь кеш, для которого не определено имя <code>CURRENT_CACHES</code>.</p>
+<p>Также, пример описывает лучшие практики по заданию версий кеша при работе с сервис воркерами. И хотя в примере лишь один кеш, тот же подход может быть использован для множества кешей. Он сравнивает сокращённый идентификатор кеша с определённым, версионным именем кеша. Код также удаляет весь кеш, для которого не определено имя <code>CURRENT_CACHES</code>.</p>
<p>В примере кода "кеш" это атрибут WorkerGlobalScope сервис воркеров. Он содержит объект CacheStorage, через который можно получить доступ к <a href="https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage">CacheStorage</a>  API.</p>
@@ -66,7 +66,7 @@ translation_of: Web/API/Cache
<pre class="brush: js">var CACHE_VERSION = 1;
-// Сокращенный идентификатор привязанный к определенной версии кеша.
+// Сокращённый идентификатор привязанный к определённой версии кеша.
var CURRENT_CACHES = {
font: 'font-cache-v' + CACHE_VERSION
};
diff --git a/files/ru/web/api/cache/keys/index.html b/files/ru/web/api/cache/keys/index.html
index 0ae385d424..aa09fb7642 100644
--- a/files/ru/web/api/cache/keys/index.html
+++ b/files/ru/web/api/cache/keys/index.html
@@ -28,14 +28,14 @@ translation_of: Web/API/Cache/keys
<dl>
<dt>request {{optional_inline}}</dt>
- <dd>{{domxref("Request")}} который будет возвращен, если найден указанный ключ.</dd>
+ <dd>{{domxref("Request")}} который будет возвращён, если найден указанный ключ.</dd>
<dt>options {{optional_inline}}</dt>
<dd>Объект, чьи свойства контролируют то, как выполняется сопоставление ключей для операции <code>keys</code>. Допустимые параметры:
<ul>
<li><code>ignoreSearch</code>: Булево значение {{domxref("Boolean")}}, которое определяет должен ли процесс сопоставления игнорировать строку запроса в url.  Если установлено в <code>true</code>, часть <code>?value=bar</code> запроса <code>http://foo.com/?value=bar</code> будет проигнорирована при сопоставлении. По умолчанию установлено в <code>false</code>.</li>
<li><code>ignoreMethod</code>: Булево значение {{domxref("Boolean")}}, которое, когда равно <code>true</code>, предотвращает проверку {{domxref("Request")}}, при сопоставлении ключей, на <code>HTTP</code> метод (обычно допускаются только <code>GET</code> и <code>HEAD</code>). По умолчанию установлено в <code>false</code>.</li>
<li><code>ignoreVary</code>: Булево значение {{domxref("Boolean")}}, которое, когда равно <code>true,</code> указывает операции сопоставления ключей не проводить проверку заголовка <code>VARY</code>.  Другими словами, если URL совпадает, вы получите соответствие, независимо от того, есть ли заголовок <code>VARY </code>на объекте запроса {{domxref("Response")}}. По умолчанию установлено в <code>false</code>.</li>
- <li><code>cacheName</code>: Строка {{domxref("DOMString")}}, которая представляет собой определенный кеш, в котором нужно вести поиск. Заметьте, что этот параметр игнорируется методом <code>Cache.keys()</code>.</li>
+ <li><code>cacheName</code>: Строка {{domxref("DOMString")}}, которая представляет собой определённый кеш, в котором нужно вести поиск. Заметьте, что этот параметр игнорируется методом <code>Cache.keys()</code>.</li>
</ul>
</dd>
</dl>
diff --git a/files/ru/web/api/cache/match/index.html b/files/ru/web/api/cache/match/index.html
index a487987497..ae0b0783bd 100644
--- a/files/ru/web/api/cache/match/index.html
+++ b/files/ru/web/api/cache/match/index.html
@@ -28,12 +28,12 @@ translation_of: Web/API/Cache/match
<dt>request</dt>
<dd>Запрос {{domxref("Request")}}, который вы пытаетесь найти в {{domxref("Cache")}}.</dd>
<dt>options {{optional_inline}}</dt>
- <dd>Объект, который задает параметры для операции <code>match</code>. Допустимые значения:
+ <dd>Объект, который задаёт параметры для операции <code>match</code>. Допустимые значения:
<ul>
<li><code>ignoreSearch</code>: Булево значение {{domxref("Boolean")}}, которое указывает следует ли игнорировать строку запроса в url.  Например, если оно установлено в <code>true, часть</code> <code>?value=bar</code> запроса <code>http://foo.com/?value=bar</code> будет проигнорирована при поиске соответствий ключа. По умолчанию равно <code>false</code>.</li>
<li><code>ignoreMethod</code>: Булево значение {{domxref("Boolean")}}, которое, когда равно <code>true</code>, предотвращает проверку <code>http</code> метода для запроса  {{domxref("Request")}} при выполнении сопоставлений ключа (обычно разрешены лишь <code>GET</code> и <code>HEAD</code>). По умолчанию равно <code>false</code>.</li>
<li><code>ignoreVary</code>: Булево значение {{domxref("Boolean")}}, которое, когда установлено в <code>true,</code> указывает операции сопоставления ключа не проводить проверку соответствия заголовка <code>VARY</code> — т.е., если URL совпадает, вы получите соответствие независимо от того, установлен ли на объекте {{domxref("Response")}} заголовок <code>VARY</code>. По умолчанию равно <code>false</code>.</li>
- <li><code>cacheName</code>: Строка {{domxref("DOMString")}}, задающая определенный кеш для поиска. Заметьте, что этот параметр игнорируется методом  <code>Cache.match()</code>.</li>
+ <li><code>cacheName</code>: Строка {{domxref("DOMString")}}, задающая определённый кеш для поиска. Заметьте, что этот параметр игнорируется методом  <code>Cache.match()</code>.</li>
</ul>
<p>В Chrome поддерживается лишь <code>cacheName</code>.</p>
diff --git a/files/ru/web/api/cachestorage/index.html b/files/ru/web/api/cachestorage/index.html
index 49d37cd9cd..98471205c0 100644
--- a/files/ru/web/api/cachestorage/index.html
+++ b/files/ru/web/api/cachestorage/index.html
@@ -15,36 +15,36 @@ translation_of: Web/API/CacheStorage
---
<p>{{APIRef("Service Workers API")}}{{SeeCompatTable}}</p>
-<p>Интерфейс <strong><code>CacheStorage</code></strong> представляет собой хранилище для объектов {{domxref("Cache")}}. Он предоставляет главную директорию всех именованных кешей, к которым могут получить доступ {{domxref("ServiceWorker")}}, другие типы воркеров или {{domxref("window")}} (вы не обязаны использовать их с service workers, даже если существует спецификация, определяющая это) и поддерживает отображение строковых имен соответствующих объектов {{domxref("Cache")}}.</p>
+<p>Интерфейс <strong><code>CacheStorage</code></strong> представляет собой хранилище для объектов {{domxref("Cache")}}. Он предоставляет главную директорию всех именованных кешей, к которым могут получить доступ {{domxref("ServiceWorker")}}, другие типы воркеров или {{domxref("window")}} (вы не обязаны использовать их с service workers, даже если существует спецификация, определяющая это) и поддерживает отображение строковых имён соответствующих объектов {{domxref("Cache")}}.</p>
<p><code>CacheStorage</code> также позволяет вызвать {{domxref("CacheStorage.open()")}} и {{domxref("CacheStorage.match()")}}. Используйте {{domxref("CacheStorage.open()")}} для получения экземпляров {{domxref("Cache")}}. Используйте {{domxref("CacheStorage.match()")}} для проверки того, является ли данный {{domxref("Request")}} ключом в любом из объектов {{domxref("Cache")}}, отслеживаемых объектом <code>CacheStorage</code>.</p>
<p>Вы можете получить доступ к <code>CacheStorage</code> через глобальное свойство {{domxref("WorkerGlobalScope.caches", "caches")}}.</p>
-<div class="note"><strong>Заметка</strong>: CacheStorage всегда возвращает отказ с <code>SecurityError</code> для ненадежных источников (т.e. тех, что не используют HTTPS, хотя это утверждение, вероятно, станет более общим в будущем). При тестировании это можно обойти, установив опцию "Enable Service Workers over HTTP (when toolbox is open)" в меню Firefox Devtools options/gear.</div>
+<div class="note"><strong>Заметка</strong>: CacheStorage всегда возвращает отказ с <code>SecurityError</code> для ненадёжных источников (т.e. тех, что не используют HTTPS, хотя это утверждение, вероятно, станет более общим в будущем). При тестировании это можно обойти, установив опцию "Enable Service Workers over HTTP (when toolbox is open)" в меню Firefox Devtools options/gear.</div>
-<div class="note"><strong>Заметка</strong>: {{domxref("CacheStorage.match()")}} удобный метод. Подобный функционал сопоставления записей кеша может быть реализован путем открытия вашего кеша с помощью {{domxref("CacheStorage.open()")}}, возвращения записей, в ней содержащихся, через {{domxref("CacheStorage.keys()")}} и сравнения необходимой {{domxref("CacheStorage.match()")}}.</div>
+<div class="note"><strong>Заметка</strong>: {{domxref("CacheStorage.match()")}} удобный метод. Подобный функционал сопоставления записей кеша может быть реализован путём открытия вашего кеша с помощью {{domxref("CacheStorage.open()")}}, возвращения записей, в ней содержащихся, через {{domxref("CacheStorage.keys()")}} и сравнения необходимой {{domxref("CacheStorage.match()")}}.</div>
<h2 id="Методы">Методы</h2>
<dl>
<dt>{{domxref("CacheStorage.match()")}}</dt>
- <dd>Проверяет, является ли данный {{domxref("Request")}} ключом в любом из объектов {{domxref("Cache")}}, отслеживаемых объектом {{domxref("CacheStorage")}}, и возвращает {{jsxref("Promise")}}, который успешно завершится, когда найдет совпадение.</dd>
+ <dd>Проверяет, является ли данный {{domxref("Request")}} ключом в любом из объектов {{domxref("Cache")}}, отслеживаемых объектом {{domxref("CacheStorage")}}, и возвращает {{jsxref("Promise")}}, который успешно завершится, когда найдёт совпадение.</dd>
<dt>{{domxref("CacheStorage.has()")}}</dt>
- <dd>Возвращает {{jsxref("Promise")}}, который успешно завершится и вернет <code>true,</code> если объект {{domxref("Cache")}} содержит кеш с установленным <code>cacheName</code>.</dd>
+ <dd>Возвращает {{jsxref("Promise")}}, который успешно завершится и вернёт <code>true,</code> если объект {{domxref("Cache")}} содержит кеш с установленным <code>cacheName</code>.</dd>
<dt>{{domxref("CacheStorage.open()")}}</dt>
- <dd>Возвращает {{jsxref("Promise")}}, который успешно завершится, когда объект {{domxref("Cache")}} найдет необходимый объект с <code>cacheName</code> (если такого нет, то создаст новый).</dd>
+ <dd>Возвращает {{jsxref("Promise")}}, который успешно завершится, когда объект {{domxref("Cache")}} найдёт необходимый объект с <code>cacheName</code> (если такого нет, то создаст новый).</dd>
<dt>{{domxref("CacheStorage.delete()")}}</dt>
- <dd>Находит объект {{domxref("Cache")}}, соответствующий <code>cacheName</code>, и, если такой обнаружен, удаляет объект {{domxref("Cache")}} и возвращает {{jsxref("Promise")}}, завершающийся с <code>true</code>. Если объект {{domxref("Cache")}} не найдет, то возвращается <code>false</code>.</dd>
+ <dd>Находит объект {{domxref("Cache")}}, соответствующий <code>cacheName</code>, и, если такой обнаружен, удаляет объект {{domxref("Cache")}} и возвращает {{jsxref("Promise")}}, завершающийся с <code>true</code>. Если объект {{domxref("Cache")}} не найдёт, то возвращается <code>false</code>.</dd>
<dt>{{domxref("CacheStorage.keys()")}}</dt>
- <dd>Возвращает {{jsxref("Promise")}}, который вернет массив, содержащий строки, соответствующие всем именованным объектам {{domxref("Cache")}}, отслеживаемым {{domxref("CacheStorage")}}. Используйте этот метод для прохода по списку всех объектов {{domxref("Cache")}}.</dd>
+ <dd>Возвращает {{jsxref("Promise")}}, который вернёт массив, содержащий строки, соответствующие всем именованным объектам {{domxref("Cache")}}, отслеживаемым {{domxref("CacheStorage")}}. Используйте этот метод для прохода по списку всех объектов {{domxref("Cache")}}.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
<p>Фрагмент кода взят с MDN <a href="https://github.com/mdn/sw-test/">sw-test example</a> (смотри <a href="https://mdn.github.io/sw-test/">sw-test running live</a>). Этот service worker ожидает старта события {{domxref("InstallEvent")}}, затем запускает {{domxref("ExtendableEvent.waitUntil","waitUntil")}} для обработки процесса установки приложения. Он состоит из вызова {{domxref("CacheStorage.open")}} для создания нового кеша и затем использует {{domxref("Cache.addAll")}} для добавления к нему списка ресурсов.</p>
-<p>Во втором блоке кода мы ждем запуска события {{domxref("FetchEvent")}}. Мы создаем встроенный ответ:</p>
+<p>Во втором блоке кода мы ждём запуска события {{domxref("FetchEvent")}}. Мы создаём встроенный ответ:</p>
<ol>
<li>Проверяем, был ли необходимый запрос найден в CacheStorage. Если да, выполняем его.</li>
diff --git a/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html b/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html
index 4f0922351f..d7afa0bf65 100644
--- a/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html
+++ b/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html
@@ -15,19 +15,19 @@ translation_of: Web/API/Canvas_API/A_basic_ray-caster
<p>Я попробовал небольшой эксперимент, понимая, к моему восторгу, что стильный элемент <code>&lt;canvas&gt;</code> о котором я <a href="https://www.whatwg.org/specs/web-apps/current-work/#dynamic">читал</a>, поддерживается не только в Fierfox, но так же поддерживается последней версией Safari.</p>
-<p>Хорошие <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API">обзор</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial">руководство</a> по canvas я нашел в MDN, но никто еще не писал об анимации, поэтому я решил попробовать базовый порт raycaster, над которым я работал некоторое время назад, и посмотреть, какую производительность мы можем ожидать от управляемого JavaScript-ом пиксельного буфера.</p>
+<p>Хорошие <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API">обзор</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial">руководство</a> по canvas я нашёл в MDN, но никто ещё не писал об анимации, поэтому я решил попробовать базовый порт raycaster, над которым я работал некоторое время назад, и посмотреть, какую производительность мы можем ожидать от управляемого JavaScript-ом пиксельного буфера.</p>
<h2 id="How.3F" name="How.3F">Как?</h2>
-<p>Основная идея заключается в использовании {{domxref("window.setInterval","setInterval()")}} с некоторой произвольной задержкой, соответствующей требуемой частоте кадров. После каждого интервала функция обновления будет перерисовывать холст, и отображать текущий вид. Я знаю, что мог бы начать с более простого примера, но я уверен, что руководство canvas <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations">доберется до этого</a>, и я хотел посмотреть, смогу ли я это сделать.</p>
+<p>Основная идея заключается в использовании {{domxref("window.setInterval","setInterval()")}} с некоторой произвольной задержкой, соответствующей требуемой частоте кадров. После каждого интервала функция обновления будет перерисовывать холст, и отображать текущий вид. Я знаю, что мог бы начать с более простого примера, но я уверен, что руководство canvas <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations">доберётся до этого</a>, и я хотел посмотреть, смогу ли я это сделать.</p>
-<p>Таким образом каждое обновление raycaster смотрит нажимали ли вы какие либо клавиши в последнее время, сохраняет расчеты и останавливается если вы бездействуете. Получив расчеты, холст очищается, земля и небо рисуются, положение камеры и/или ориентация обновляются, а лучи отбрасываются. Когда лучи попадают на стены, они отображают вертикальный кусок холста в цвете стены, на которую они попали, смешанный с более темной версией цвета в зависимости от расстояния до стены. Высота этого кусочка также моделируется расстоянием от камеры до стены и рисуется по центру линии горизонта.</p>
+<p>Таким образом каждое обновление raycaster смотрит нажимали ли вы какие либо клавиши в последнее время, сохраняет расчёты и останавливается если вы бездействуете. Получив расчёты, холст очищается, земля и небо рисуются, положение камеры и/или ориентация обновляются, а лучи отбрасываются. Когда лучи попадают на стены, они отображают вертикальный кусок холста в цвете стены, на которую они попали, смешанный с более тёмной версией цвета в зависимости от расстояния до стены. Высота этого кусочка также моделируется расстоянием от камеры до стены и рисуется по центру линии горизонта.</p>
-<p>Код, который я получил, - это смесь глав raycaster из старой книги Андре Ламотетрикса о гуру программирования игр (ISBN: 0672305070) и  <a class="external" href="http://www.shinelife.co.uk/java-maze/">java raycaster</a>, которую я нашел в интернете, отфильтровал, переименовал, и внес все изменения, которые нужно было внести, чтобы все работало хорошо.</p>
+<p>Код, который я получил, - это смесь глав raycaster из старой книги Андре Ламотетрикса о гуру программирования игр (ISBN: 0672305070) и  <a class="external" href="http://www.shinelife.co.uk/java-maze/">java raycaster</a>, которую я нашёл в интернете, отфильтровал, переименовал, и внёс все изменения, которые нужно было внести, чтобы все работало хорошо.</p>
<h2 id="Results" name="Results">Результаты</h2>
-<p>Холст в Safari 2.0.1 выполнен на удивление хорошо. С коэффициентом блочности, увеличенным до отображения кусочка шириной 8 пикселей, я могу запустить окно 320 x 240 при 24 fps на моем Apple mini. Firefox 1.5 Beta 1 еще быстрее; я могу запускать 320 x 240 при 24 fps с 4 пиксельным кусочком. Не совсем новый член семейства программного обеспечения ID, но довольно приличный, учитывая, что это полностью интерпретируемая среда, и мне не нужно было беспокоиться о выделении памяти или видеорежимах или кодировании внутренних процедур в ассемблере или чем-то еще. Код получился очень эффективным, он использует поиск по массиву предварительно вычисленных значений, но я не гуру оптимизации, поэтому все, вероятно, можно было бы написать быстрее.</p>
+<p>Холст в Safari 2.0.1 выполнен на удивление хорошо. С коэффициентом блочности, увеличенным до отображения кусочка шириной 8 пикселей, я могу запустить окно 320 x 240 при 24 fps на моем Apple mini. Firefox 1.5 Beta 1 ещё быстрее; я могу запускать 320 x 240 при 24 fps с 4 пиксельным кусочком. Не совсем новый член семейства программного обеспечения ID, но довольно приличный, учитывая, что это полностью интерпретируемая среда, и мне не нужно было беспокоиться о выделении памяти или видеорежимах или кодировании внутренних процедур в ассемблере или чем-то ещё. Код получился очень эффективным, он использует поиск по массиву предварительно вычисленных значений, но я не гуру оптимизации, поэтому все, вероятно, можно было бы написать быстрее.</p>
<p>Кроме того, он оставляет желать лучшего с точки зрения попыток быть игровым движком—нет текстур стен, нет спрайтов, нет дверей, даже нет телепортов, чтобы добраться до другого уровня. Но я уверен, что все эти вещи могут быть добавлены, через некоторое время. Canvas API поддерживает пиксельное копирование изображений, поэтому текстуры могут быть добавлены. Я оставлю это для другой статьи, возможно, от другого человека. =)</p>
diff --git a/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html b/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html
index a1b7b04467..dddee8da38 100644
--- a/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html
@@ -364,7 +364,7 @@ ball.draw();
<h2 id="Breakout(арканоид)">Breakout(арканоид)</h2>
-<p>В этой короткой главе описаны некоторые приемы создания продвинутой анимации.  Как насчет того, что бы добавить доску, кирпичи и превратить это демо в игру Breakout(в Росси более известный клон этой игры - арканоид)? Посетите <a href="/en-US/docs/Games">Game development</a> чтобы узнать больше об играх.</p>
+<p>В этой короткой главе описаны некоторые приёмы создания продвинутой анимации.  Как насчёт того, что бы добавить доску, кирпичи и превратить это демо в игру Breakout(в Росси более известный клон этой игры - арканоид)? Посетите <a href="/en-US/docs/Games">Game development</a> чтобы узнать больше об играх.</p>
<h2 id="Смотрите_так_же">Смотрите так же</h2>
diff --git a/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html b/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html
index 7eea729bc2..9a750e66cc 100644
--- a/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html
@@ -21,7 +21,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Применение_стилей_и_
<dd>Устанавливает стиль контура фигуры. </dd>
</dl>
-<p><em><code>color </code></em>может быть цветом, (<code>строка, представленная в</code> CSS {{cssxref("&lt;color&gt;")}}), градиентом или паттерном. Градиенты и паттерны мы рассмотрим позже. По умолчанию цвет фона и контура  — черный (значение CSS цвета  <code>#000000</code>).</p>
+<p><em><code>color </code></em>может быть цветом, (<code>строка, представленная в</code> CSS {{cssxref("&lt;color&gt;")}}), градиентом или паттерном. Градиенты и паттерны мы рассмотрим позже. По умолчанию цвет фона и контура  — чёрный (значение CSS цвета  <code>#000000</code>).</p>
<div class="note">
<p><strong>На заметку:</strong> Когда вы устанавливаете  значения <code>strokeStyle</code> и/или <code>fillStyle</code>, то новое значение становится стандартным для всех фигур, которые будут нарисованы с этого момента. Когда вам нужен другой цвет, вы должны перезаписать значение в <code>fillStyle</code> или в <code>strokeStyle</code> для каждой фигуры.</p>
@@ -39,7 +39,7 @@ ctx.fillStyle = "rgba(255,165,0,1)";
<h3 id="Пример_fillStyle">Пример <code>fillStyle</code></h3>
-<p>В этом примере мы опять воспользуемся двойным циклом, чтобы нарисовать сетку из прямоугольников, каждый из которых имеет свой цвет. Окончательное изображение должно иметь вид, как показано на скриншоте. Здесь не происходит ничего сверхъестественного. Мы используем две переменные <code>i</code> и <code>j</code> для генерации уникального RGB цвета для каждого квадрата и изменяем только красные и зеленые значения. Синий канал представляет собой фиксированное значение. Путем изменения каналов вы можете генерировать всю палитру. Увеличив количество шагов вы можете достигнуть такого вида палитры, какая используется в Photoshop.</p>
+<p>В этом примере мы опять воспользуемся двойным циклом, чтобы нарисовать сетку из прямоугольников, каждый из которых имеет свой цвет. Окончательное изображение должно иметь вид, как показано на скриншоте. Здесь не происходит ничего сверхъестественного. Мы используем две переменные <code>i</code> и <code>j</code> для генерации уникального RGB цвета для каждого квадрата и изменяем только красные и зелёные значения. Синий канал представляет собой фиксированное значение. Путём изменения каналов вы можете генерировать всю палитру. Увеличив количество шагов вы можете достигнуть такого вида палитры, какая используется в Photoshop.</p>
<pre class="brush: js;highlight[5,6] notranslate">function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
@@ -113,7 +113,7 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<h3 id="Пример_globalAlpha">Пример <code>globalAlpha</code></h3>
-<p>В данном примере мы нарисуем фон и четыре квадрата с различными цветами.  Сверху изображения будет выведен набор полупрозрачных кругов. Установим свойство <code>globalAlpha</code> значением 0.2, которое будет использовано для всех последующих форм. Каждый шаг цикла рисует круг с большим радиусом. По окончанию получим радиальный градиент. Накладывая еще больше кругов друг на друга, мы фактически сможем уменьшить прозрачность ранее нарисованных кругов. Увеличив счетчик итераций, при этом рисуя еще круги, мы сможем добиться исчезновение центра изображения.</p>
+<p>В данном примере мы нарисуем фон и четыре квадрата с различными цветами.  Сверху изображения будет выведен набор полупрозрачных кругов. Установим свойство <code>globalAlpha</code> значением 0.2, которое будет использовано для всех последующих форм. Каждый шаг цикла рисует круг с большим радиусом. По окончанию получим радиальный градиент. Накладывая ещё больше кругов друг на друга, мы фактически сможем уменьшить прозрачность ранее нарисованных кругов. Увеличив счётчик итераций, при этом рисуя ещё круги, мы сможем добиться исчезновение центра изображения.</p>
<pre class="brush: js;highlight[15] notranslate">function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
@@ -195,22 +195,22 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<dt>{{domxref("CanvasRenderingContext2D.miterLimit", "miterLimit = value")}}</dt>
<dd>Устанавливает ограничение на митру, когда две линии соединяются под острым углом, чтобы вы могли контролировать её толщину.</dd>
<dt>{{domxref("CanvasRenderingContext2D.getLineDash", "getLineDash()")}}</dt>
- <dd>Возвращает текущий массив тире штриховки, содержащий четное число неотрицательных чисел.</dd>
+ <dd>Возвращает текущий массив тире штриховки, содержащий чётное число неотрицательных чисел.</dd>
<dt>{{domxref("CanvasRenderingContext2D.setLineDash", "setLineDash(segments)")}}</dt>
<dd>Устанавливает текущий пунктир линии.</dd>
<dt>{{domxref("CanvasRenderingContext2D.lineDashOffset", "lineDashOffset = value")}}</dt>
<dd>Указывает, где следует начинать тире массива в строке.</dd>
</dl>
-<p>Вы лучше поймете, что они делают, глядя на приведенные ниже примеры.</p>
+<p>Вы лучше поймёте, что они делают, глядя на приведённые ниже примеры.</p>
<h3 id="Пример_lineWidth">Пример <code>lineWidth</code></h3>
-<p>Это свойство задает толщину текущей строки. Значения должны быть положительными. По умолчанию для этого значения установлено 1.0 единицы.</p>
+<p>Это свойство задаёт толщину текущей строки. Значения должны быть положительными. По умолчанию для этого значения установлено 1.0 единицы.</p>
-<p>Ширина линии - это толщина хода, центрированного по данному пути. Другими словами, область, которая нарисована, простирается до половины ширины линии по обе стороны пути. Поскольку координаты холста не напрямую ссылаются на пиксели, особое внимание следует уделять получению четких горизонтальных и вертикальных линий.</p>
+<p>Ширина линии - это толщина хода, центрированного по данному пути. Другими словами, область, которая нарисована, простирается до половины ширины линии по обе стороны пути. Поскольку координаты холста не напрямую ссылаются на пиксели, особое внимание следует уделять получению чётких горизонтальных и вертикальных линий.</p>
-<p>В приведенном ниже примере 10 прямых линий рисуются с увеличением ширины линий. Линия в крайнем левом углу - 1.0 единицы. Тем не менее, толщина левой и всех других линий нечетной ширины не выглядят четкими из-за позиционирования пути.</p>
+<p>В приведённом ниже примере 10 прямых линий рисуются с увеличением ширины линий. Линия в крайнем левом углу - 1.0 единицы. Тем не менее, толщина левой и всех других линий нечётной ширины не выглядят чёткими из-за позиционирования пути.</p>
<pre class="brush: js;highlight[4] notranslate">function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
@@ -232,7 +232,7 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<p>{{EmbedLiveSample("Пример_lineWidth", "180", "180", "https://mdn.mozillademos.org/files/239/Canvas_linewidth.png")}}</p>
-<p>Получение четких строк требует понимания путей сглаживания. На рисунках ниже представлена сетка координат холста. Квадраты между сетками являются фактическими экранными пикселями. В первом изображении сетки ниже прямоугольник от (2, 1) до (5, 5) заполняется. Вся область между ними (светло-красный) падает на границы пикселей, поэтому полученный заполненный прямоугольник будет иметь четкие края.</p>
+<p>Получение чётких строк требует понимания путей сглаживания. На рисунках ниже представлена сетка координат холста. Квадраты между сетками являются фактическими экранными пикселями. В первом изображении сетки ниже прямоугольник от (2, 1) до (5, 5) заполняется. Вся область между ними (светло-красный) падает на границы пикселей, поэтому полученный заполненный прямоугольник будет иметь чёткие края.</p>
<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/201/Canvas-grid.png"></p>
@@ -241,14 +241,14 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<p>Чтобы исправить это, вы должны быть более точными при создании пути. Зная, что линия шириной <code>1.0</code> занимает половину единицы по обе стороны пути, создание пути от (3.5, 1) до (3.5, 5) приведёт к ситуации в третьем изображении - ширина линии <code>1.0</code> закончится верно, точно заполняя вертикальную линию с одним пикселем.</p>
<div class="note">
-<p><strong>Примечание:</strong> Имейте в виду, что в нашем примере с вертикальной линией позиция Y по-прежнему ссылается на целочисленную позицию сетки - иначе мы увидели бы пиксели с половинным охватом в конечных точках (также обратите внимание, что это поведение зависит от текущего стиля <code>lineCap</code>,  значение по умолчанию - <code>butt</code>; вы можете вычислить согласованные штрихи с полупиксельными координатами для линий с нечетной шириной, установив стиль <code>lineCap</code> в <code>square</code>, чтобы внешняя граница вокруг конечной точки линии автоматически расширялась, охватывая весь пиксель в точку).</p>
+<p><strong>Примечание:</strong> Имейте в виду, что в нашем примере с вертикальной линией позиция Y по-прежнему ссылается на целочисленную позицию сетки - иначе мы увидели бы пиксели с половинным охватом в конечных точках (также обратите внимание, что это поведение зависит от текущего стиля <code>lineCap</code>,  значение по умолчанию - <code>butt</code>; вы можете вычислить согласованные штрихи с полупиксельными координатами для линий с нечётной шириной, установив стиль <code>lineCap</code> в <code>square</code>, чтобы внешняя граница вокруг конечной точки линии автоматически расширялась, охватывая весь пиксель в точку).</p>
-<p>Также обратите внимание, что затронуты только начальные и конечные  точки пути: если путь закрыт с помощью <code>closePath()</code>, - нет начальной и конечной точки; вместо этого все конечные точки в пути подключены к их прикрепленному предыдущему и следующему сегментам и при текущей настройке стиля <code>lineJoin</code> в значении по умолчанию - <code>miter</code>, с эффектом автоматического расширения внешних границ подключенных сегментов до их точки пересечения - обработанный ход будет точно покрывать полные пиксели с центром в каждой конечной точке, если эти связанные сегменты горизонтальны и/или вертикальны). См. следующие два раздела, демонстрирующие эти дополнительные стили.</p>
+<p>Также обратите внимание, что затронуты только начальные и конечные  точки пути: если путь закрыт с помощью <code>closePath()</code>, - нет начальной и конечной точки; вместо этого все конечные точки в пути подключены к их прикреплённому предыдущему и следующему сегментам и при текущей настройке стиля <code>lineJoin</code> в значении по умолчанию - <code>miter</code>, с эффектом автоматического расширения внешних границ подключённых сегментов до их точки пересечения - обработанный ход будет точно покрывать полные пиксели с центром в каждой конечной точке, если эти связанные сегменты горизонтальны и/или вертикальны). См. следующие два раздела, демонстрирующие эти дополнительные стили.</p>
</div>
-<p>Для линий с четной шириной каждая половина заканчивается как целое количество пикселей, поэтому вам нужен путь, который находится между пикселями (то есть (3,1) - (3,5)), вместо середины пикселей.</p>
+<p>Для линий с чётной шириной каждая половина заканчивается как целое количество пикселей, поэтому вам нужен путь, который находится между пикселями (то есть (3,1) - (3,5)), вместо середины пикселей.</p>
-<p>Хотя это и необычно, когда изначально работаешь с масштабируемой 2D-графикой, обращая внимание на сетку пикселей и положение путей, но вы убедитесь, что ваши рисунки будут выглядеть правильно, независимо от масштабирования или любых других преобразований. Вертикальная линия ширины 1,0, построенная таким образом, станет четкой 2-пиксельной линией при увеличении на 2 и появится в правильном положении.</p>
+<p>Хотя это и необычно, когда изначально работаешь с масштабируемой 2D-графикой, обращая внимание на сетку пикселей и положение путей, но вы убедитесь, что ваши рисунки будут выглядеть правильно, независимо от масштабирования или любых других преобразований. Вертикальная линия ширины 1,0, построенная таким образом, станет чёткой 2-пиксельной линией при увеличении на 2 и появится в правильном положении.</p>
<h3 id="Пример_lineCap">Пример <code>lineCap</code></h3>
@@ -265,7 +265,7 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<dd>Концы линий описаны квадратом с равной шириной и половиной высоты толщины линии.</dd>
</dl>
-<p>В этом примере мы проведем три строки, каждая из которых имеет другое значение для свойства <code>lineCap</code>. Я также добавил два руководства, чтобы увидеть точные различия между ними. Каждая из этих линий начинается и заканчивается именно на этих направляющих.</p>
+<p>В этом примере мы проведём три строки, каждая из которых имеет другое значение для свойства <code>lineCap</code>. Я также добавил два руководства, чтобы увидеть точные различия между ними. Каждая из этих линий начинается и заканчивается именно на этих направляющих.</p>
<p>Строка слева использует <code>butt</code> опцию по умолчанию. Вы заметите, что она полностью очищена от направляющих. Второй вариант -  <code>round</code> опция. Это добавляет полукруг к концу, который имеет радиус, равный половине ширины линии. Строка справа использует <code>square</code> опцию. Это добавляет поле с равной шириной и половиной высоты толщины линии.</p>
@@ -313,14 +313,14 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<dl>
<dt><code>round</code></dt>
- <dd>Радиус заполняемой части для скругленных углов равен половине ширины линии. центр этого радиуса совпадает с концами подключенных сегментов.</dd>
+ <dd>Радиус заполняемой части для скруглённых углов равен половине ширины линии. центр этого радиуса совпадает с концами подключённых сегментов.</dd>
<dt><code>bevel</code></dt>
- <dd>Заполняет дополнительную треугольную область между общей конечной точкой подключенных сегментов и отдельными внешними прямоугольными углами каждого сегмента. </dd>
+ <dd>Заполняет дополнительную треугольную область между общей конечной точкой подключённых сегментов и отдельными внешними прямоугольными углами каждого сегмента. </dd>
<dt><code>miter</code></dt>
- <dd>Подключенные сегменты соединяются путем расширения их внешних краев для соединения в одной точке с эффектом заполнения дополнительной области в форме пастилки. Эта настройка выполняется с помощью свойства <code>miterLimit</code>, которое объясняется ниже.</dd>
+ <dd>Подключённые сегменты соединяются путём расширения их внешних краёв для соединения в одной точке с эффектом заполнения дополнительной области в форме пастилки. Эта настройка выполняется с помощью свойства <code>miterLimit</code>, которое объясняется ниже.</dd>
</dl>
-<p>В приведенном ниже примере показаны три разных пути, демонстрирующие каждый из этих трех свойств <code>lineJoin</code>; результат - выше. </p>
+<p>В приведённом ниже примере показаны три разных пути, демонстрирующие каждый из этих трёх свойств <code>lineJoin</code>; результат - выше. </p>
<pre class="brush: js;highlight[6] notranslate">function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
@@ -351,9 +351,9 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<p>Как вы видели в предыдущем примере, при объединении двух строк с опцией <code>miter</code> внешние края двух соединительных линий расширены до точки, где они встречаются. Для линий, которые находятся под большими углами друг с другом, эта точка находится недалеко от внутренней точки соединения. Однако, поскольку углы между каждой линией уменьшаются, расстояние (длина меча) между этими точками увеличивается экспоненциально.</p>
-<p>Свойство <code>miterLimit</code> определяет, как далеко можно установить внешнюю точку соединения из внутренней точки подключения. Если две линии превышают это значение, вместо этого получается привязка конуса. Обратите внимание, что максимальная длина митра является произведением ширины линии, измеренной в текущей системе координат, значением этого свойства <code>miterLimit</code> (значение по умолчанию 10,0 в HTML {{HTMLElement("canvas")}}), поэтому <code>miterLimit</code> может устанавливаться независимо от текущей шкалы дисплея или любых аффинных преобразований путей: она влияет только на эффективно визуализированную форму ребер линии.</p>
+<p>Свойство <code>miterLimit</code> определяет, как далеко можно установить внешнюю точку соединения из внутренней точки подключения. Если две линии превышают это значение, вместо этого получается привязка конуса. Обратите внимание, что максимальная длина митра является произведением ширины линии, измеренной в текущей системе координат, значением этого свойства <code>miterLimit</code> (значение по умолчанию 10,0 в HTML {{HTMLElement("canvas")}}), поэтому <code>miterLimit</code> может устанавливаться независимо от текущей шкалы дисплея или любых аффинных преобразований путей: она влияет только на эффективно визуализированную форму рёбер линии.</p>
-<p>Точнее, предел митры является максимально допустимым отношением длины расширения (в холсте HTML он измеряется между внешним углом соединенных краев линии и общей конечной точкой соединительных сегментов, указанными на пути), до половины ширины линии. Его можно равнозначно определить как максимально допустимое отношение расстояния между внутренней и внешней точками перехода краев к общей ширине линии. Затем он равен косекансу с половиной минимального внутреннего угла соединительных сегментов, ниже которого не будет создано ни одного соединения митра, а только скос соединяется:</p>
+<p>Точнее, предел митры является максимально допустимым отношением длины расширения (в холсте HTML он измеряется между внешним углом соединённых краёв линии и общей конечной точкой соединительных сегментов, указанными на пути), до половины ширины линии. Его можно равнозначно определить как максимально допустимое отношение расстояния между внутренней и внешней точками перехода краёв к общей ширине линии. Затем он равен косекансу с половиной минимального внутреннего угла соединительных сегментов, ниже которого не будет создано ни одного соединения митра, а только скос соединяется:</p>
<ul>
<li><code>miterLimit</code> = <strong>max</strong> <code>miterLength</code> / <code>lineWidth</code> = 1 / <strong>sin</strong> ( <strong>min</strong> <em>θ</em> / 2 )</li>
@@ -365,7 +365,7 @@ ctx.fillStyle = "rgba(255,0,0,0.5)";
<p>Вот небольшая демонстрация, в которой вы можете динамически установить <code>miterLimit</code> и посмотреть, как это влияет на фигуры на холсте. Синие линии показывают, где начальная и конечная точки для каждой из линий в шаблоне зигзага.</p>
-<p>Если вы укажете в этой демонстрации значение <code>miterLimit</code> ниже 4.2, ни один из видимых углов не присоединится к расширению митры, но только с небольшим скосом рядом с синими линиями; с отметкой <code>miterLimit</code> выше 10, большинство углов в этой демонстрации должны соединяться с митрой, удаленной от синих линий, высота которой уменьшается между углами слева направо, потому что они соединяются с растущими углами; с промежуточными значениями углы с левой стороны будут соединяться только с скосом рядом с синими линиями, а углы с правой стороны с удлинителем митры (также с уменьшающейся высотой).</p>
+<p>Если вы укажете в этой демонстрации значение <code>miterLimit</code> ниже 4.2, ни один из видимых углов не присоединится к расширению митры, но только с небольшим скосом рядом с синими линиями; с отметкой <code>miterLimit</code> выше 10, большинство углов в этой демонстрации должны соединяться с митрой, удалённой от синих линий, высота которой уменьшается между углами слева направо, потому что они соединяются с растущими углами; с промежуточными значениями углы с левой стороны будут соединяться только с скосом рядом с синими линиями, а углы с правой стороны с удлинителем митры (также с уменьшающейся высотой).</p>
<pre class="brush: js;highlight[18] notranslate">function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
@@ -425,7 +425,7 @@ draw();</pre>
<p>Метод setLineDash и свойство lineDashOffset задают шаблон штрихов для линий. Метод setLineDash принимает список чисел, который определяет расстояния для попеременного рисования линии и разрыва, а свойство lineDashOffset устанавливает смещение, с которого начинается шаблон.</p>
-<p>В этом примере мы создаем эффект походных муравьев. Это техника анимации, часто встречающаяся в инструментах выбора программ компьютерной графики. Это помогает пользователю отличить границу выделения от фона изображения, анимируя границу. В следующей части этого руководства вы узнаете, как сделать эту и другие основные анимации.</p>
+<p>В этом примере мы создаём эффект походных муравьёв. Это техника анимации, часто встречающаяся в инструментах выбора программ компьютерной графики. Это помогает пользователю отличить границу выделения от фона изображения, анимируя границу. В следующей части этого руководства вы узнаете, как сделать эту и другие основные анимации.</p>
<div class="hidden">
<pre class="brush: html notranslate">&lt;canvas id="canvas" width="110" height="110"&gt;&lt;/canvas&gt;</pre>
@@ -584,7 +584,7 @@ lineargradient.addColorStop(1, 'black');
<dl>
<dt>{{domxref("CanvasRenderingContext2D.createPattern", "createPattern(image, type)")}}</dt>
- <dd>Создает и возвращает новый canvas объект - шаблон (pattern). <code>image</code> - {{domxref("CanvasImageSource")}} (то есть {{domxref ("HTMLImageElement")}}, другой холст, элемент {{HTMLElement ("video")}} или подобный  объект. <code>type</code> - строка, указывающая, как использовать <code>image</code>.</dd>
+ <dd>Создаёт и возвращает новый canvas объект - шаблон (pattern). <code>image</code> - {{domxref("CanvasImageSource")}} (то есть {{domxref ("HTMLImageElement")}}, другой холст, элемент {{HTMLElement ("video")}} или подобный  объект. <code>type</code> - строка, указывающая, как использовать <code>image</code>.</dd>
</dl>
<p>Тип указывает, как использовать image для создания шаблона и должен быть одним из следующих значений:</p>
diff --git a/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html b/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html
index 78937ccfac..e4756dc73d 100644
--- a/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Basic_usage
---
<div>{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial", "Web/API/Canvas_API/Tutorial/Drawing_shapes")}}</div>
-<p class="summary">Давайте начнем этот урок с изучения элемента {{HTMLElement("canvas")}} как такового. В конце этой страницы Вы узнаете как устанавливать canvas 2D context и нарисуете первый пример в вашем браузере.</p>
+<p class="summary">Давайте начнём этот урок с изучения элемента {{HTMLElement("canvas")}} как такового. В конце этой страницы Вы узнаете как устанавливать canvas 2D context и нарисуете первый пример в вашем браузере.</p>
<h2 id="Элемент_&lt;canvas>">Элемент <code>&lt;canvas&gt;</code></h2>
@@ -17,10 +17,10 @@ translation_of: Web/API/Canvas_API/Tutorial/Basic_usage
<p>Он выглядит как элемент <code>&lt;img&gt;</code>, но его отличие в том, что он не имеет атрибутов <code>src</code> и <code>alt</code>. Элемент <code>&lt;canvas&gt;</code> имеет только два атрибута - <strong>ширину</strong> и <strong>высоту</strong>. Оба они не обязательны и могут быть выставлены с использованием свойств <a href="/en-US/docs/DOM" rel="internal" title="en/DOM">DOM</a>. Если атрибуты высоты и ширины не установлены, canvas будет по умолчанию шириной <strong>300 пикселей</strong> и в высоту <strong>150 пикселей</strong>. Вы так же можете выставить размеры произвольно в <a href="/en-US/docs/Web/CSS" rel="internal" title="en/CSS">CSS</a>, но во время рендеринга изображение будет масштабироваться в соответствии с его размером и ориентацией.</p>
<div class="note">
-<p><strong>Примечание:</strong> Если вид вашего изображения кажется вам искаженным, попробуйте указать атрибуты ширины и высоты в явном виде в атрибутах &lt;canvas&gt; , а не с помощью CSS.</p>
+<p><strong>Примечание:</strong> Если вид вашего изображения кажется вам искажённым, попробуйте указать атрибуты ширины и высоты в явном виде в атрибутах &lt;canvas&gt; , а не с помощью CSS.</p>
</div>
-<p>Атрибут id не специфичен для элемента <code>&lt;canvas&gt;,</code> но он может быть применен по умолчанию в атрибутах HTML, так как он может быть использован (почти) для любого элемента HTML (так же как класс). Это всегда отличная идея использовать <code>id</code>, так как это позволяет намного проще идентифицировать наш элемент в сценарии.</p>
+<p>Атрибут id не специфичен для элемента <code>&lt;canvas&gt;,</code> но он может быть применён по умолчанию в атрибутах HTML, так как он может быть использован (почти) для любого элемента HTML (так же как класс). Это всегда отличная идея использовать <code>id</code>, так как это позволяет намного проще идентифицировать наш элемент в сценарии.</p>
<p>Элемент <code>&lt;canvas&gt;</code> может быть стилизован также, как любое изображение (margin, border, background, и т. д.). Эти правила, как бы то ни было, фактически не влияют на отрисовку в canvas. Мы увидим как это сделано позже в этом руководстве. Когда стили не указаны, canvas будет по умолчанию абсолютно прозрачным.</p>
@@ -52,9 +52,9 @@ translation_of: Web/API/Canvas_API/Tutorial/Basic_usage
<h2 id="Рендеринг_содержимого_контекста">Рендеринг содержимого (контекста)</h2>
-<p>Элемент {{HTMLElement("canvas")}} в документе создается с фиксированным размером элемента для рисования, который может иметь один или несколько контекстов для рендеринга, создавая и манипулируя содержимым для показа. В данном руководстве мы сфокусируемся на 2D рендеринге. Другие контексты могут предоставлять разные типы рендеринга, к примеру WebGl использует 3D контекст основанный на <a href="http://www.khronos.org/opengles/">OpenGL ES</a>.</p>
+<p>Элемент {{HTMLElement("canvas")}} в документе создаётся с фиксированным размером элемента для рисования, который может иметь один или несколько контекстов для рендеринга, создавая и манипулируя содержимым для показа. В данном руководстве мы сфокусируемся на 2D рендеринге. Другие контексты могут предоставлять разные типы рендеринга, к примеру WebGl использует 3D контекст основанный на <a href="http://www.khronos.org/opengles/">OpenGL ES</a>.</p>
-<p>Холст изначально пустой и прозрачный. Первым делом скрипт получает доступ к контексту и отрисовывает его. Элемент {{HTMLElement("canvas")}} имеет <a href="/en-US/docs/Web/API/HTMLCanvasElement#Method">метод</a> <code>getContext()</code>, используется для получения контекста визуализации и ее функции рисования. <code>getContext()</code> принимает один параметр, тип контекста. Для 2D графики, которая охвачена этим руководством будем использовать метку "2d".</p>
+<p>Холст изначально пустой и прозрачный. Первым делом скрипт получает доступ к контексту и отрисовывает его. Элемент {{HTMLElement("canvas")}} имеет <a href="/en-US/docs/Web/API/HTMLCanvasElement#Method">метод</a> <code>getContext()</code>, используется для получения контекста визуализации и её функции рисования. <code>getContext()</code> принимает один параметр, тип контекста. Для 2D графики, которая охвачена этим руководством будем использовать метку "2d".</p>
<pre class="brush: js notranslate">var canvas = document.getElementById('tutorial');
var ctx = canvas.getContext('2d');
@@ -109,7 +109,7 @@ if (canvas.getContext){
&lt;/html&gt;
</pre>
-<p>Скрипт вызывает функцию draw(), которая выполнится, когда страница закончит загрузку. Это делается путем события {{event("load")}} в документе. Эта функция может быть вызвана как единожды, так и с помощью данных методов {{domxref("window.setTimeout()")}}, {{domxref("window.setInterval()")}}, или любым другим обработчиком события, когда страница будет загружена.</p>
+<p>Скрипт вызывает функцию draw(), которая выполнится, когда страница закончит загрузку. Это делается путём события {{event("load")}} в документе. Эта функция может быть вызвана как единожды, так и с помощью данных методов {{domxref("window.setTimeout()")}}, {{domxref("window.setInterval()")}}, или любым другим обработчиком события, когда страница будет загружена.</p>
<p>Вот как шаблон будет выглядеть в действии.</p>
diff --git a/files/ru/web/api/canvas_api/tutorial/compositing/index.html b/files/ru/web/api/canvas_api/tutorial/compositing/index.html
index bac6986141..4e4df0bef6 100644
--- a/files/ru/web/api/canvas_api/tutorial/compositing/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/compositing/index.html
@@ -14,11 +14,11 @@ original_slug: Web/API/Canvas_API/Tutorial/Композиции
<h2 id="globalCompositeOperation" name="globalCompositeOperation"><code>globalCompositeOperation</code></h2>
-<p>Мы можем не только рисовать новые фигуры за существующие формы, но мы также можем использовать его, чтобы замаскировать определенные участки, очистить разделы от холста (не ограничивается прямоугольниками, как{{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}} method does) и другое.</p>
+<p>Мы можем не только рисовать новые фигуры за существующие формы, но мы также можем использовать его, чтобы замаскировать определённые участки, очистить разделы от холста (не ограничивается прямоугольниками, как{{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}} method does) и другое.</p>
<dl>
<dt>{{domxref("CanvasRenderingContext2D.globalCompositeOperation", "globalCompositeOperation = type")}}</dt>
- <dd>Это задает Тип операции композиции для применения при разработке новых форм, где Тип является строкой, идентифицирующей, какие из двенадцати операций композитинг в использовании.</dd>
+ <dd>Это задаёт Тип операции композиции для применения при разработке новых форм, где Тип является строкой, идентифицирующей, какие из двенадцати операций композитинг в использовании.</dd>
</dl>
<p>См.  <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing/Example">примеры компоновки</a> кода из следующих примеров.</p>
@@ -27,9 +27,9 @@ original_slug: Web/API/Canvas_API/Tutorial/Композиции
<h2 id="Clipping_paths" name="Clipping_paths">Обрезка контуров</h2>
-<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/209/Canvas_clipping_path.png" style="float: right;">Отсеченный контур похож на обычную форму холста, но он действует как маска, чтобы скрыть нежелательные части фигур. Это визуализируется на изображении справа. Форма красной звезды - наша отправочная дорожка. Все, что выходит за пределы этого пути, не будет нарисовано на холсте.</p>
+<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/209/Canvas_clipping_path.png" style="float: right;">Отсечённый контур похож на обычную форму холста, но он действует как маска, чтобы скрыть нежелательные части фигур. Это визуализируется на изображении справа. Форма красной звезды - наша отправочная дорожка. Все, что выходит за пределы этого пути, не будет нарисовано на холсте.</p>
-<p>Если мы сравниваем отсеченный контур со свойством <code>globalCompositeOperation</code> на изображении, мы видим два режима композитинга, которые достигают более или менее того же эффекта в исходном и исходном состоянии.   Наиболее важные различия между ними заключаются в том, что отсечение контура фактически  никогда не обращается к холсту и контур обрезки никогда не влияет добавление новых форм. Это делает обрезку контура идеальным для рисования нескольких фигур в ограниченной области.</p>
+<p>Если мы сравниваем отсечённый контур со свойством <code>globalCompositeOperation</code> на изображении, мы видим два режима композитинга, которые достигают более или менее того же эффекта в исходном и исходном состоянии.   Наиболее важные различия между ними заключаются в том, что отсечение контура фактически  никогда не обращается к холсту и контур обрезки никогда не влияет добавление новых форм. Это делает обрезку контура идеальным для рисования нескольких фигур в ограниченной области.</p>
<p>В главе о <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes" title="Web/Guide/HTML/Canvas_tutorial/Drawing_shapes#Drawing_paths">рисовании форм</a>, я назвал только <code>stroke()</code> и <code>fill()</code> методы, но есть третий способ можно использовать с контурами, так называемый <code>clip()</code>.</p>
@@ -44,7 +44,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Композиции
<h3 id="A_clip_example" name="A_clip_example">Пример обрезки</h3>
-<p>В этом примере мы будем использовать круговую обрезку контура, чтобы ограничить рисование набора случайных звезд определенной областью.</p>
+<p>В этом примере мы будем использовать круговую обрезку контура, чтобы ограничить рисование набора случайных звёзд определённой областью.</p>
<pre class="brush: js;highlight[9]">function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
@@ -100,9 +100,9 @@ function drawStar(ctx, r) {
<pre class="brush: js">draw();</pre>
</div>
-<p>В первых нескольких строках кода мы рисуем черный прямоугольник размером с холстом в качестве фона, а затем переводим начало координат в центр. Затем мы создаем круговой обтравочный контур, рисуя дугу и вызывающий <code>clip()</code>. Обрезанные контуры также являются частью состояния сохранения холста. Если бы мы хотели сохранить исходный обтравочный контур, мы могли бы сохранить состояние холста перед созданием нового.</p>
+<p>В первых нескольких строках кода мы рисуем чёрный прямоугольник размером с холстом в качестве фона, а затем переводим начало координат в центр. Затем мы создаём круговой обтравочный контур, рисуя дугу и вызывающий <code>clip()</code>. Обрезанные контуры также являются частью состояния сохранения холста. Если бы мы хотели сохранить исходный обтравочный контур, мы могли бы сохранить состояние холста перед созданием нового.</p>
-<p>Все, что нарисовано после создания отсеченного контура, появится только внутри этого пути. Вы можете видеть это четко в линейном градиенте, который нарисован далее. После этого набирается набор из 50 случайно расположенных и масштабированных звезд, используя <code>drawStar()</code>. Снова звезды появляются только в пределах определенного обтравочного контура.</p>
+<p>Все, что нарисовано после создания отсечённого контура, появится только внутри этого пути. Вы можете видеть это чётко в линейном градиенте, который нарисован далее. После этого набирается набор из 50 случайно расположенных и масштабированных звёзд, используя <code>drawStar()</code>. Снова звезды появляются только в пределах определённого обтравочного контура.</p>
<p>{{EmbedLiveSample("A_clip_example", "180", "180", "https://mdn.mozillademos.org/files/208/Canvas_clip.png")}}</p>
diff --git a/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html b/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html
index 30225ac786..83ef78542a 100644
--- a/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html
@@ -12,11 +12,11 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<h2 id="Сетка">Сетка</h2>
-<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/224/Canvas_default_grid.png" style="float: right; height: 220px; width: 220px;">Перед тем, как мы начнем рисовать, нам нужно поговорить о сетке canvas или <strong>координатной плоскости</strong>. Наш HTML каркас из предыдущей страницы включал в себя элемент canvas 150 пикселей в ширину и 150 пикселей в высоту. Справа можно увидеть этот canvas <span class="short_text" id="result_box" lang="ru"><span class="hps">с сеткой</span><span>, накладываемой по умолчанию</span></span>. <span id="result_box" lang="ru"><span class="hps">Обычно 1 единица</span> <span class="hps">на сетке соответствует</span> <span class="hps">1 пикселю на</span></span> canvas. <span id="result_box" lang="ru"><span>Начало координат этой сетки</span> <span class="hps">расположено</span> <em><span class="hps">в верхнем левом</span> <span class="hps">углу</span></em> <span class="hps">в</span> <span class="atn hps">координате <code><em>(</em></code></span><span><code><em>0,0 )</em></code>.</span></span> <span id="result_box" lang="ru"><span class="hps">Все</span> <span class="hps">элементы размещены</span> <span class="hps">относительно</span> <span class="hps">этого</span> <span class="hps">начала</span><span>. </span><span class="hps">Так</span>им образом, <span class="hps">положение верхнего</span> <span class="hps">левого угла</span> <span class="hps">синего квадрата составляет</span> <code><em><span class="hps">х</span></em></code> <span class="hps">пикселей слева</span><span class="hps"> и</span> <code><em><span class="hps">у</span></em></code> <span class="hps">пикселей</span> <span class="hps">сверху,</span> <span class="hps">на</span> <span class="hps">координате <code><em>(х</em></code></span><span><code><em>, у)</em></code>.</span></span> <span id="result_box" lang="ru"><span class="hps">Позже в</span> <span class="hps">этом уроке мы</span> <span class="hps">увидим, как</span> <span class="hps">можно</span> <span class="hps">перевести</span> <span class="hps">начало координат</span> <span class="hps">в другое место</span><span>,</span> <span class="hps">вращать сетку</span> <span class="hps">и даже</span> <span class="hps">масштабировать ее</span><span>, но сейчас</span> <span class="hps">мы будем придерживаться</span> <span class="hps">настроек сетки по умолчанию.</span></span></p>
+<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/224/Canvas_default_grid.png" style="float: right; height: 220px; width: 220px;">Перед тем, как мы начнём рисовать, нам нужно поговорить о сетке canvas или <strong>координатной плоскости</strong>. Наш HTML каркас из предыдущей страницы включал в себя элемент canvas 150 пикселей в ширину и 150 пикселей в высоту. Справа можно увидеть этот canvas <span class="short_text" id="result_box" lang="ru"><span class="hps">с сеткой</span><span>, накладываемой по умолчанию</span></span>. <span id="result_box" lang="ru"><span class="hps">Обычно 1 единица</span> <span class="hps">на сетке соответствует</span> <span class="hps">1 пикселю на</span></span> canvas. <span id="result_box" lang="ru"><span>Начало координат этой сетки</span> <span class="hps">расположено</span> <em><span class="hps">в верхнем левом</span> <span class="hps">углу</span></em> <span class="hps">в</span> <span class="atn hps">координате <code><em>(</em></code></span><span><code><em>0,0 )</em></code>.</span></span> <span id="result_box" lang="ru"><span class="hps">Все</span> <span class="hps">элементы размещены</span> <span class="hps">относительно</span> <span class="hps">этого</span> <span class="hps">начала</span><span>. </span><span class="hps">Так</span>им образом, <span class="hps">положение верхнего</span> <span class="hps">левого угла</span> <span class="hps">синего квадрата составляет</span> <code><em><span class="hps">х</span></em></code> <span class="hps">пикселей слева</span><span class="hps"> и</span> <code><em><span class="hps">у</span></em></code> <span class="hps">пикселей</span> <span class="hps">сверху,</span> <span class="hps">на</span> <span class="hps">координате <code><em>(х</em></code></span><span><code><em>, у)</em></code>.</span></span> <span id="result_box" lang="ru"><span class="hps">Позже в</span> <span class="hps">этом уроке мы</span> <span class="hps">увидим, как</span> <span class="hps">можно</span> <span class="hps">перевести</span> <span class="hps">начало координат</span> <span class="hps">в другое место</span><span>,</span> <span class="hps">вращать сетку</span> <span class="hps">и даже</span> <span class="hps">масштабировать её</span><span>, но сейчас</span> <span class="hps">мы будем придерживаться</span> <span class="hps">настроек сетки по умолчанию.</span></span></p>
<h2 id="Рисование_прямоугольников">Рисование прямоугольников</h2>
-<p>В отличие от {{Glossary("SVG")}}, {{HTMLElement("canvas")}} поддерживает только одну примитивную фигуру: прямоугольник. Все другие фигуры должны быть созданы комбинацией одного или большего количества контуров (paths), набором точек, соединенных в линии. К счастью в ассортименте рисования контуров у нас есть  функции, которые делают возможным составление очень сложных фигур.</p>
+<p>В отличие от {{Glossary("SVG")}}, {{HTMLElement("canvas")}} поддерживает только одну примитивную фигуру: прямоугольник. Все другие фигуры должны быть созданы комбинацией одного или большего количества контуров (paths), набором точек, соединённых в линии. К счастью в ассортименте рисования контуров у нас есть  функции, которые делают возможным составление очень сложных фигур.</p>
<p>Сначала рассмотрим прямоугольник. Ниже представлены три функции рисования прямоугольников в canvas:</p>
@@ -29,7 +29,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<dd>Очистка  прямоугольной области, делая содержимое совершенно прозрачным.</dd>
</dl>
-<p>Каждая из приведенных функций принимает несколько параметров: </p>
+<p>Каждая из приведённых функций принимает несколько параметров: </p>
<ul>
<li><em>x</em>, <font face="Consolas, Liberation Mono, Courier, monospace"><em>y</em></font> устанавливают положение верхнего левого угла прямоугольника в canvas (относительно начала координат);</li>
@@ -60,11 +60,11 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
}
}</pre>
-<p>Этот пример изображен ниже.</p>
+<p>Этот пример изображён ниже.</p>
<p>{{EmbedLiveSample("Пример_создания_прямоугольных_фигур", 160, 160, "https://mdn.mozillademos.org/files/245/Canvas_rect.png")}}</p>
-<p>Функция fillRect() рисует большой чёрный квадрат со стороной 100 px. Функция clearRect() вырезает квадрат 60х60 из центра, а функция strokeRect() создает прямоугольный контур 50х50 пикселей внутри очищенного квадрата.</p>
+<p>Функция fillRect() рисует большой чёрный квадрат со стороной 100 px. Функция clearRect() вырезает квадрат 60х60 из центра, а функция strokeRect() создаёт прямоугольный контур 50х50 пикселей внутри очищенного квадрата.</p>
<p>На следующей странице мы рассмотрим две альтернативы методу clearRect(), и также увидим, как можно изменять цвет и стиль контура отображаемых фигур.</p>
@@ -77,7 +77,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<p>Создание фигур используя контуры происходит в несколько важных шагов:</p>
<ol>
- <li>Сначала вы создаете контур.</li>
+ <li>Сначала вы создаёте контур.</li>
<li>Затем, используя <a href="/en-US/docs/Web/API/CanvasRenderingContext2D#Paths">команды рисования</a>, рисуете контур.</li>
<li>Потом закрываете контур.</li>
<li>Созданный контур вы можете обвести или залить для его отображения.</li>
@@ -87,7 +87,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<dl>
<dt>{{domxref("CanvasRenderingContext2D.beginPath", "beginPath()")}}</dt>
- <dd>Создает новый контур. После создания используется в дальнейшем командами рисования при построении контуров.</dd>
+ <dd>Создаёт новый контур. После создания используется в дальнейшем командами рисования при построении контуров.</dd>
<dt><a href="/en-US/docs/Web/API/CanvasRenderingContext2D#Paths">Path методы</a></dt>
<dd>Методы для установки различных контуров объекта.</dd>
<dt>{{domxref("CanvasRenderingContext2D.closePath", "closePath()")}}</dt>
@@ -195,12 +195,12 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<dl>
<dt>{{domxref("CanvasRenderingContext2D.lineTo", "lineTo(x, y)")}}</dt>
- <dd>Рисует линию с текущей позиции до позиции, определенной <code>x и y</code>.</dd>
+ <dd>Рисует линию с текущей позиции до позиции, определённой <code>x и y</code>.</dd>
</dl>
<p><span id="result_box" lang="ru"><span class="hps">Этот метод принимает</span> <span class="hps">два аргумента</span> </span><code><em>x</em><span lang="ru"><span class="hps"> и </span></span><em>y</em></code><span lang="ru"><span>, которые являются</span> <span class="hps">координатами конечной</span> <span class="hps">точки линии</span><span>.</span></span> <span id="result_box" lang="ru"><span>Начальная точка зависит</span> <span class="hps">от</span> <span class="hps">ранее</span> <span class="hps">нарисованных путей, причём</span> <span class="hps">конечная точка</span> <span class="hps">предыдущего пути является</span> начальной <span class="hps">точкой следующего</span> <span class="hps">и т. д.</span> <span class="hps">Начальная точка также</span> <span class="hps">может быть изменена</span> <span class="hps">с помощью метода</span></span> <code>moveTo()</code>.</p>
-<p>Пример ниже рисует два треугольника, один закрашенный и другой обведен контуром.</p>
+<p>Пример ниже рисует два треугольника, один закрашенный и другой обведён контуром.</p>
<div class="hidden">
<pre class="brush: html notranslate">&lt;html&gt;
@@ -238,7 +238,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<p>{{EmbedLiveSample("Линии", 160, 160, "https://mdn.mozillademos.org/files/238/Canvas_lineTo.png")}}</p>
-<p><span id="result_box" lang="ru"><span class="hps">Вы заметите</span> <span class="hps">разницу между</span> <span class="hps">закрашенным</span> <span class="hps">и обведенным контуром</span> <span class="hps">треугольниками.</span> <span class="hps">Это, </span><span class="hps">как упоминалось выше</span><span>,</span> <span class="hps">из-за</span> того, что <span class="hps">фигуры</span> <span class="hps">автоматически закрываются</span><span>, когда</span> <span class="hps">путь</span> <span class="hps">заполнен (т. е. закрашен)</span><span>, но</span> <span class="hps">не тогда, когда</span> <span class="hps">он очерчен (т. е. обведен контуром)</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Если бы мы</span> <span class="hps">не учли</span> </span><code>closePath()</code><span lang="ru"> <span class="hps">для</span> очерченного <span class="hps">треугольника</span><span>,</span> тогда <span class="hps">только две линии</span> <span class="hps">были бы</span> <span class="hps">нарисованы,</span> <span class="hps">а не</span> <span class="hps">весь треугольник</span><span>.</span></span></p>
+<p><span id="result_box" lang="ru"><span class="hps">Вы заметите</span> <span class="hps">разницу между</span> <span class="hps">закрашенным</span> <span class="hps">и обведённым контуром</span> <span class="hps">треугольниками.</span> <span class="hps">Это, </span><span class="hps">как упоминалось выше</span><span>,</span> <span class="hps">из-за</span> того, что <span class="hps">фигуры</span> <span class="hps">автоматически закрываются</span><span>, когда</span> <span class="hps">путь</span> <span class="hps">заполнен (т. е. закрашен)</span><span>, но</span> <span class="hps">не тогда, когда</span> <span class="hps">он очерчен (т. е. обведён контуром)</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Если бы мы</span> <span class="hps">не учли</span> </span><code>closePath()</code><span lang="ru"> <span class="hps">для</span> очерченного <span class="hps">треугольника</span><span>,</span> тогда <span class="hps">только две линии</span> <span class="hps">были бы</span> <span class="hps">нарисованы,</span> <span class="hps">а не</span> <span class="hps">весь треугольник</span><span>.</span></span></p>
<h3 id="Дуги">Дуги</h3>
@@ -251,7 +251,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<dd>Рисуем дугу с заданными контрольными точками и радиусом, соединяя эти точки прямой линией.</dd>
</dl>
-<p>Рассмотрим детальнее метод <em>arc()</em>, который имеет пять параметров: <em><code>x</code></em> и <em><code>y</code></em> — это координаты центра окружности, в которой должна быть нарисована дуга. <em><code>radius</code></em> — не требует пояснений. Углы <code>startAngle</code> и <code>endAngle</code> определяют начальную и конечную точки дуги в радианах вдоль кривой окружности. Отсчет происходит от оси x. Параметр <code>anticlockwise</code> — логическое значение, которое, если <code>true</code>, то рисование дуги совершается против хода часовой стрелки; иначе рисование происходит по ходу часовой стрелки.</p>
+<p>Рассмотрим детальнее метод <em>arc()</em>, который имеет пять параметров: <em><code>x</code></em> и <em><code>y</code></em> — это координаты центра окружности, в которой должна быть нарисована дуга. <em><code>radius</code></em> — не требует пояснений. Углы <code>startAngle</code> и <code>endAngle</code> определяют начальную и конечную точки дуги в радианах вдоль кривой окружности. Отсчёт происходит от оси x. Параметр <code>anticlockwise</code> — логическое значение, которое, если <code>true</code>, то рисование дуги совершается против хода часовой стрелки; иначе рисование происходит по ходу часовой стрелки.</p>
<div class="note">
<p><strong>Note</strong>: Углы в функции arc() измеряют в радианах, не в градусах. Для перевода градусов в радианы вы можете использовать JavaScript-выражение: <code>radians = (Math.PI/180)*degrees</code>.</p>
@@ -263,7 +263,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<p>Координаты <code>x</code> и <code>y</code>  должны быть достаточно ясны. <code>radius</code> and <code>startAngle</code> — фиксированы. <code>endAngle</code> начинается со 180 градусов (полуокружность) в первой колонке и, увеличиваясь с шагом 90 градусов, достигает кульминации полноценной окружностью в последнем столбце.</p>
-<p>Установка параметра <code>clockwise</code> определяет результат; в первой и третьей строках рисование дуг происходит по часовой стрелке, а во второй и четвертой - против часовой стрелки. Благодаря if-условию верхняя половина дуг образуется с контуром, (обводкой), а нижняя половина дуг - с заливкой.</p>
+<p>Установка параметра <code>clockwise</code> определяет результат; в первой и третьей строках рисование дуг происходит по часовой стрелке, а во второй и четвёртой - против часовой стрелки. Благодаря if-условию верхняя половина дуг образуется с контуром, (обводкой), а нижняя половина дуг - с заливкой.</p>
<div class="note">
<p><strong>Note:</strong> Этот пример требует немного большего холста (canvas), чем другие на этой странице: 150 x 200 pixels.</p>
@@ -319,13 +319,13 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур
<dd>Рисуется кубическая кривая Безье с текущей позиции пера в конечную точку с координатами <code>x</code> и <code>y</code>, используя две контрольные точки с координатами (<code>cp1x</code>, <code>cp1y</code>) и (cp2x, cp2y).</dd>
</dl>
-<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/223/Canvas_curves.png" style="float: right; height: 190px; width: 190px;">Различие между ними можно увидеть на рисунке, изображенном справа. Квадратичная кривая Безье имеет стартовую и конечную точки (синие точки) и всего одну контрольную точку (красная точка), в то время как кубическая кривая Безье использует две контрольные точки.</p>
+<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/223/Canvas_curves.png" style="float: right; height: 190px; width: 190px;">Различие между ними можно увидеть на рисунке, изображённом справа. Квадратичная кривая Безье имеет стартовую и конечную точки (синие точки) и всего одну контрольную точку (красная точка), в то время как кубическая кривая Безье использует две контрольные точки.</p>
<p>Параметры <code>x</code> и <code>y</code> в этих двух методах являются координатами конечной точки. <code>cp1x</code> и <code>cp1y</code> — координаты первой контрольной точки, а <code>cp2x</code> и <code>cp2y</code> — координаты второй контрольной точки.</p>
<p>Использование квадратичных или кубических кривых Безье может быть  спорным выходом, так как в отличие от приложений векторной графики типа Adobe Illustrator, мы не имеем полной видимой обратной связи с тем, что мы делаем. Этот факт делает довольно сложным процесс рисования сложных фигур. В следующем примере мы нарисуем совсем простую составную фигуру, но, если у вас есть время и ещё больше терпения, можно создать более сложные составные фигуры.</p>
-<p>В этом примере нет ничего слишком тяжелого. В обоих случаях мы видим последовательность кривых, рисуя которые, в результате получим составную фигуру.</p>
+<p>В этом примере нет ничего слишком тяжёлого. В обоих случаях мы видим последовательность кривых, рисуя которые, в результате получим составную фигуру.</p>
<h4 id="Квадратичные_кривые_Безье">Квадратичные кривые Безье</h4>
@@ -513,7 +513,7 @@ function roundedRect(ctx,x,y,width,height,radius){
<p>Мы не будем подробно останавливаться на том, так как это на самом деле удивительно просто. Наиболее важные вещи, которые следует отметить, это использование свойства <code>fillStyle</code> в контексте рисования и использование функции утилиты (в данном случае <code>roundedRect()</code>). Использование функций утилиты для битов чертежа часто может быть очень полезным и сократить количество необходимого кода, а также его сложность.</p>
-<p>Позже, в этом уроке, мы еще раз рассмотрим <code>fillStyle</code>, но более подробно. Здесь же мы используем его для изменения цвета заливки путей вместо цвета по умолчанию от черного до белого, а затем обратно.</p>
+<p>Позже, в этом уроке, мы ещё раз рассмотрим <code>fillStyle</code>, но более подробно. Здесь же мы используем его для изменения цвета заливки путей вместо цвета по умолчанию от чёрного до белого, а затем обратно.</p>
<h2 id="Path2D_объекты">Path2D объекты</h2>
@@ -522,7 +522,7 @@ function roundedRect(ctx,x,y,width,height,radius){
<dl>
<dt>{{domxref("Path2D.Path2D", "Path2D()")}}</dt>
- <dd>Конструктор <code><strong>Path2D()</strong></code> возвращает вновь созданный объект <code>Path2D</code>  необязательно с другим путем в качестве аргумента (создает копию) или необязательно со строкой, состоящей из данных пути <a href="/en-US/docs/Web/SVG/Tutorial/Paths">SVG path</a> .</dd>
+ <dd>Конструктор <code><strong>Path2D()</strong></code> возвращает вновь созданный объект <code>Path2D</code>  необязательно с другим путём в качестве аргумента (создаёт копию) или необязательно со строкой, состоящей из данных пути <a href="/en-US/docs/Web/SVG/Tutorial/Paths">SVG path</a> .</dd>
</dl>
<pre class="brush: js notranslate">new Path2D(); // пустой path объект
@@ -540,7 +540,7 @@ new Path2D(d); // path из SVG</pre>
<h3 id="Path2D_пример">Path2D пример</h3>
-<p>В этом примере мы создаем прямоугольник и круг. Оба они сохраняются как объект <code>Path2D</code>, поэтому они доступны для последующего использования. С новым API <code>Path2D</code> несколько методов были обновлены, чтобы при необходимости принять объект <code>Path2D</code> для использования вместо текущего пути. Здесь <code>stroke</code> и <code>fill</code> используются с аргументом пути, например, для рисования обоих объектов на холст.</p>
+<p>В этом примере мы создаём прямоугольник и круг. Оба они сохраняются как объект <code>Path2D</code>, поэтому они доступны для последующего использования. С новым API <code>Path2D</code> несколько методов были обновлены, чтобы при необходимости принять объект <code>Path2D</code> для использования вместо текущего пути. Здесь <code>stroke</code> и <code>fill</code> используются с аргументом пути, например, для рисования обоих объектов на холст.</p>
<div class="hidden">
<pre class="brush: html notranslate">&lt;html&gt;
@@ -573,7 +573,7 @@ new Path2D(d); // path из SVG</pre>
<h3 id="Использование_SVG_путей">Использование SVG путей</h3>
-<p>Еще одна мощная функция нового Canvas <code>Path2D</code> API использует данные пути SVG, <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths">SVG path data</a>, для инициализации путей на вашем холсте. Это может позволить вам передавать данные пути и повторно использовать их как в SVG, так и в холсте.</p>
+<p>Ещё одна мощная функция нового Canvas <code>Path2D</code> API использует данные пути SVG, <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths">SVG path data</a>, для инициализации путей на вашем холсте. Это может позволить вам передавать данные пути и повторно использовать их как в SVG, так и в холсте.</p>
<p>Путь перемещается в точку (<code>M10 10</code>), а затем горизонтально перемещается на 80 пунктов вправо (<code>h 80</code>), затем на 80 пунктов вниз (<code>v 80</code>), затем на 80 пунктов влево (<code>h -80</code>), а затем обратно на start (<code>z</code>). <br>
Этот пример можно увидеть на странице  <a href="/en-US/docs/Web/API/Path2D.Path2D#Using_SVG_paths"><code>Path2D</code> constructor</a>.</p>
diff --git a/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html b/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html
index 226dfc1e21..e33d9080b4 100644
--- a/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html
@@ -65,7 +65,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_текста
<h2 id="Стилизация_текста">Стилизация текста</h2>
-<p>В примерах выше мы уже использовали свойство font для изменения размера текста. Кроме него существуют еще несколько свойств, позволяющие настроить вывод текста на canvas:</p>
+<p>В примерах выше мы уже использовали свойство font для изменения размера текста. Кроме него существуют ещё несколько свойств, позволяющие настроить вывод текста на canvas:</p>
<dl>
<dt>{{domxref("CanvasRenderingContext2D.font", "font = value")}}</dt>
diff --git a/files/ru/web/api/canvas_api/tutorial/index.html b/files/ru/web/api/canvas_api/tutorial/index.html
index 3d6a7e259a..3a01a141e0 100644
--- a/files/ru/web/api/canvas_api/tutorial/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/index.html
@@ -12,13 +12,13 @@ translation_of: Web/API/Canvas_API/Tutorial
Изображения в правой части статьи являются примерами использования <code><a href="/ru/docs/Web/HTML/Element/canvas">&lt;canvas&gt;</a>.</code><br>
Примеры их создания приводятся в этой статье. </p>
-<p>В этом руководстве описываются основы использования элемента <code>&lt;canvas&gt;</code> для рисования 2D-графики. Приведенные примеры дадут вам понимание того, что вы можете сделать с помощью &lt;canvas&gt;, а использованные в статье фрагменты кода помогут в создании собственных проектов.</p>
+<p>В этом руководстве описываются основы использования элемента <code>&lt;canvas&gt;</code> для рисования 2D-графики. Приведённые примеры дадут вам понимание того, что вы можете сделать с помощью &lt;canvas&gt;, а использованные в статье фрагменты кода помогут в создании собственных проектов.</p>
<p><code>Впервые &lt;canvas&gt;</code> использовался компанией Apple для создания <a href="https://ru.wikipedia.org/wiki/Dashboard">Mac OS X Dashboard</a>, а затем был реализован в Web-браузерах. На сегодняшний день все основные браузеры поддерживают работу с &lt;canvas&gt;. Тег <code>&lt;canvas&gt;</code> часть спецификации <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/">WhatWG Web applications 1.0</a> также известной как HTML5.</p>
<h2 id="Before_you_start" name="Before_you_start">Прежде чем начать</h2>
-<p>Работа с элементом <strong><code>&lt;canvas&gt;</code></strong> довольно проста, но потребует от вас базовых знаний <a href="ru/docs/HTML" title="HTML">HTML</a> и <a href="JavaScript" title="JavaScript">JavaScript</a>. Следует предупредить о том, что элемент <code>&lt;<strong>canvas&gt;</strong></code> не работает в некоторых старых браузерах, но поддерживается большинством современных браузеров. Стандартный размер <strong><code>&lt;canvas&gt;</code></strong>  300px × 150px (ширина × высота), однако эти размеры могут быть изменены при помощи HTML-атрибутов <code>height</code> и <code>width</code>. Для рисования графики <strong><code>&lt;canvas&gt;</code></strong> мы будем использовать <code>javascript context object</code>,  который создает графику динамически.</p>
+<p>Работа с элементом <strong><code>&lt;canvas&gt;</code></strong> довольно проста, но потребует от вас базовых знаний <a href="ru/docs/HTML" title="HTML">HTML</a> и <a href="JavaScript" title="JavaScript">JavaScript</a>. Следует предупредить о том, что элемент <code>&lt;<strong>canvas&gt;</strong></code> не работает в некоторых старых браузерах, но поддерживается большинством современных браузеров. Стандартный размер <strong><code>&lt;canvas&gt;</code></strong>  300px × 150px (ширина × высота), однако эти размеры могут быть изменены при помощи HTML-атрибутов <code>height</code> и <code>width</code>. Для рисования графики <strong><code>&lt;canvas&gt;</code></strong> мы будем использовать <code>javascript context object</code>,  который создаёт графику динамически.</p>
<h2 id="In_this_tutorial" name="In_this_tutorial">В этом руководстве</h2>
diff --git a/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html b/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html
index 40a83917e8..74b0c60df0 100644
--- a/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/optimizing_canvas/index.html
@@ -20,7 +20,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Optimizing_canvas
<h2 id="Советы_по_производительности">Советы по производительности</h2>
-<p>Ниже приведен сборник советов по улучшению производительности canvas.</p>
+<p>Ниже приведён сборник советов по улучшению производительности canvas.</p>
<h3 id="Предварительно_отрисуйте_похожие_примитивы_или_повторяющиеся_объекты_на_offscreen_canvas">Предварительно отрисуйте похожие примитивы или повторяющиеся объекты на offscreen canvas</h3>
@@ -46,7 +46,7 @@ myCanvas.getContext('2d').drawImage(myCanvas.offScreenCanvas, 0, 0);
<p>При загрузке кэшируйте изображения разных размеров на offscreen canvas, а не постоянно масштабируйте их в {{domxref("CanvasRenderingContext2D.drawImage", "drawImage()")}}.</p>
-<h3 id="Используйте_несколько_слоев_canvas_для_сложных_сцен">Используйте несколько слоев canvas для сложных сцен</h3>
+<h3 id="Используйте_несколько_слоёв_canvas_для_сложных_сцен">Используйте несколько слоёв canvas для сложных сцен</h3>
<p>Вы можете обнаружить, что некоторые объекты в вашем приложении нужно часто перемещать или менять, в то время как другие остаются относительно статичными. Возможной оптимизацией в этой ситуации является наложение ваших элементов с использованием нескольких элементов <code>&lt;canvas&gt;</code>.</p>
@@ -75,7 +75,7 @@ myCanvas.getContext('2d').drawImage(myCanvas.offScreenCanvas, 0, 0);
<h3 id="Используйте_простой_CSS_для_больших_фоновых_изображений">Используйте простой CSS для больших фоновых изображений</h3>
-<p>Если у вас есть статическое фоновое изображение, вы можете нарисовать его на простом элементе {{HTMLElement("div")}}, используя свойство CSS {{cssxref("background")}}, и расположить его под canvas. Это сведет на нет необходимость рендеринга фона на canvas на каждом тике.</p>
+<p>Если у вас есть статическое фоновое изображение, вы можете нарисовать его на простом элементе {{HTMLElement("div")}}, используя свойство CSS {{cssxref("background")}}, и расположить его под canvas. Это сведёт на нет необходимость рендеринга фона на canvas на каждом тике.</p>
<h3 id="Масштабирование_холста_с_использованием_CSS-преобразований">Масштабирование холста с использованием CSS-преобразований</h3>
@@ -107,7 +107,7 @@ stage.style.transform = 'scale(' + scaleToFit + ')';
<li>Избегайте <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_text">рендеринга текста</a>, когда это возможно.</li>
<li>Попробуйте разные способы очистки canvas (({{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}}, или {{domxref("CanvasRenderingContext2D.fillRect", "fillRect()")}}, или изменение размера canvas).</li>
<li>С анимациями используйте {{domxref("window.requestAnimationFrame()")}} вместо {{domxref("window.setInterval()")}}.</li>
- <li>Будьте осторожны с тяжелыми физическими библиотеками.</li>
+ <li>Будьте осторожны с тяжёлыми физическими библиотеками.</li>
</ul>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html b/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html
index 8b8653a9b3..67b81c9b63 100644
--- a/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html
@@ -27,7 +27,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas
<dd>A {{jsxref ("Uint8ClampedArray")}} представляет собой одномерный массив, содержащий данные в порядке RGBA, с целыми значениями от <code>0</code> до <code>255</code> (в комплекте).</dd>
</dl>
-<p>Свойство <code>data</code> возвращает {{jsxref ("Uint8ClampedArray")}}, к которому можно получить доступ, чтобы посмотреть на необработанные пиксельные данные; каждый пиксель представлен четырьмя однобайтовыми значениями (красный, зеленый, синий и альфа в этом порядке, то есть формат «RGBA»). Каждый компонент цвета представлен целым числом от 0 до 255. Каждому компоненту присваивается последовательный индекс внутри массива, причем красный компонент верхнего левого пикселя находится в индексе 0 внутри массива. Затем пиксели идут слева направо, затем вниз, по всему массиву.</p>
+<p>Свойство <code>data</code> возвращает {{jsxref ("Uint8ClampedArray")}}, к которому можно получить доступ, чтобы посмотреть на необработанные пиксельные данные; каждый пиксель представлен четырьмя однобайтовыми значениями (красный, зелёный, синий и альфа в этом порядке, то есть формат «RGBA»). Каждый компонент цвета представлен целым числом от 0 до 255. Каждому компоненту присваивается последовательный индекс внутри массива, причём красный компонент верхнего левого пикселя находится в индексе 0 внутри массива. Затем пиксели идут слева направо, затем вниз, по всему массиву.</p>
<p>{{Jsxref ("Uint8ClampedArray")}} содержит высоту × ширину × 4 байта данных, значения индекса варьируются от 0 до (высота × ширина × 4) -1.</p>
@@ -46,7 +46,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas
<pre class="brush: js">var myImageData = ctx.createImageData(width, height);</pre>
-<p>Это создает новый объект <code>ImageData</code> с указанными параметрами. Все пиксели заданы прозрачным черным.</p>
+<p>Это создаёт новый объект <code>ImageData</code> с указанными параметрами. Все пиксели заданы прозрачным черным.</p>
<p>Вы также можете создать новый объект <code>ImageData</code> ImageData с теми же размерами, что и объект, заданный <code>anotherImageData</code> . Все пиксели нового объекта установлены на прозрачный черный. <strong>Это не копирует данные изображения!</strong></p>
@@ -61,7 +61,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas
<p>Этот метод возвращает объект <code>ImageData</code> , представляющий пиксельные данные для области холста, углы которого представлены точками (<code>left</code> , <code>top</code>), (<code>left+width</code> , <code>top</code>), (<code>left</code> , <code>top+height</code>) и (<code>left+width</code> , <code>top+height</code>). Координаты задаются в единицах пространства координат холста.</p>
<div class="note">
-<p><strong>Примечание:</strong> Любые пиксели за пределами холста возвращаются как прозрачный черный цвет в результирующий объект <code>ImageData</code> .</p>
+<p><strong>Примечание:</strong> Любые пиксели за пределами холста возвращаются как прозрачный чёрный цвет в результирующий объект <code>ImageData</code> .</p>
</div>
<p>Этот метод также показан в статье <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Manipulating_video_using_canvas">Manipulating video using canvas</a>.</p>
@@ -116,7 +116,7 @@ canvas.addEventListener('mousemove', pick);
<h3 id="Оттенки_серого_цвета_и_инвертирование_цветов">Оттенки серого цвета и инвертирование цветов</h3>
-<p>В этом примере мы перебираем все пиксели для изменения их значений, а затем помещаем модифицированный массив пикселей обратно в canvas с помощью <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/putImageData">putImageData()</a>. Функция инвертирования просто вычитает каждый цвет из максимального значения 255. Функция оттенков серого просто использует среднее значение красного, зеленого и синего. Вы также можете использовать средневзвешенное значение, заданное формулой <code>x = 0.299r + 0.587g + 0.114b</code>, например. Для дополнительной информации см. <a href="http://en.wikipedia.org/wiki/Grayscale">Grayscale</a> в Википедии.</p>
+<p>В этом примере мы перебираем все пиксели для изменения их значений, а затем помещаем модифицированный массив пикселей обратно в canvas с помощью <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/putImageData">putImageData()</a>. Функция инвертирования просто вычитает каждый цвет из максимального значения 255. Функция оттенков серого просто использует среднее значение красного, зелёного и синего. Вы также можете использовать средневзвешенное значение, заданное формулой <code>x = 0.299r + 0.587g + 0.114b</code>, например. Для дополнительной информации см. <a href="http://en.wikipedia.org/wiki/Grayscale">Grayscale</a> в Википедии.</p>
<div class="hidden">
<pre class="brush: html;">&lt;canvas id="canvas" width="300" height="227"&gt;&lt;/canvas&gt;
@@ -179,7 +179,7 @@ function draw(img) {
Math.abs(x - 5), Math.abs(y - 5),
10, 10, 0, 0, 200, 200);</pre>
-<p>Поскольку по умолчанию включено сглаживание, мы можем захотеть отключить сглаживание, чтобы увидеть четкие пиксели. Вы можете переключить флажок, чтобы увидеть эффект свойства <code>imageSmoothingEnabled</code> (которому нужны префиксы для разных браузеров).</p>
+<p>Поскольку по умолчанию включено сглаживание, мы можем захотеть отключить сглаживание, чтобы увидеть чёткие пиксели. Вы можете переключить флажок, чтобы увидеть эффект свойства <code>imageSmoothingEnabled</code> (которому нужны префиксы для разных браузеров).</p>
<h6 class="hidden" id="Zoom_example">Zoom example</h6>
@@ -242,9 +242,9 @@ function draw(img) {
<dd>Имейте в виду, что если холст содержит пиксели, полученные из другого {{Glossary ("origin")}} без использования CORS, холст будет <strong>испорчен</strong>, и его содержимое больше не будет считываться и сохраняться. Смотрите {{SectionOnPage ("/en-US/docs/Web/HTML/CORS_enabled_image", "Безопасность и испорченные холсты")}}</dd>
<dt></dt>
<dt>{{domxref("HTMLCanvasElement.toDataURL", "canvas.toDataURL('image/png')")}}</dt>
- <dd>Настройки по умолчанию. Создает изображение в формате PNG.</dd>
+ <dd>Настройки по умолчанию. Создаёт изображение в формате PNG.</dd>
<dt>{{domxref("HTMLCanvasElement.toDataURL", "canvas.toDataURL('image/jpeg', quality)")}}</dt>
- <dd>Создает изображение в формате JPG. Дополнительно вы можете задать параметр "качество" (quality) в диапазоне от 0 до 1, причем единица задает лучшее качество и 0 -  почти не распознаваемый, но небольшой по размеру файл.</dd>
+ <dd>Создаёт изображение в формате JPG. Дополнительно вы можете задать параметр "качество" (quality) в диапазоне от 0 до 1, причём единица задаёт лучшее качество и 0 -  почти не распознаваемый, но небольшой по размеру файл.</dd>
</dl>
<p>После того как вы создали URI данные из своего холста, вы можете использовать его как источник любого {{HTMLElement ("image")}} или поместить его в гиперссылку с <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download">download attribute</a>, чтобы сохранить его на диске, например.</p>
@@ -253,7 +253,7 @@ function draw(img) {
<dl>
<dt>{{domxref("HTMLCanvasElement.toBlob", "canvas.toBlob(callback, type, encoderOptions)")}}</dt>
- <dd>Создает объект <code>Blob</code>, представляющий изображение, содержащееся в холсте.</dd>
+ <dd>Создаёт объект <code>Blob</code>, представляющий изображение, содержащееся в холсте.</dd>
</dl>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/canvas_api/tutorial/transformations/index.html b/files/ru/web/api/canvas_api/tutorial/transformations/index.html
index 85acddca88..bdba6eae69 100644
--- a/files/ru/web/api/canvas_api/tutorial/transformations/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/transformations/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Transformations
<dt>{{domxref("CanvasRenderingContext2D.save", "save()")}}</dt>
<dd><span class="notranslate">Сохраняет все состояние холста.</span></dd>
<dt>{{domxref("CanvasRenderingContext2D.restore", "restore()")}}</dt>
- <dd><span class="notranslate">Восстанавливает последнее сохраненное состояние холста.</span></dd>
+ <dd><span class="notranslate">Восстанавливает последнее сохранённое состояние холста.</span></dd>
</dl>
<p>Состояние холста сохраняется в стеке. Каждый раз, когда вызывается метод <code>save()</code>, текущее состояние отрисовки записывается в стек. Состояние отрисовки содержит:</p>
@@ -80,7 +80,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Transformations
<h3 id="A_translate_example" name="A_translate_example">Пример использования <code>translate</code></h3>
-<p><span class="tlid-translation translation" lang="ru"><span title="">Этот пример демонстрирует некоторые преимущества</span></span> при использовании смещения холста. Без использования метода <code>translate()</code> все прямоугольники будут отрисованы в одинаковой позиции (0,0). Метод <code>translate()</code> дает возможность размещения прямоугольника в любой позиции без изменения параметров функции <code>fillRect()</code>. Это может дать некоторое упрощение для понимания и использования.</p>
+<p><span class="tlid-translation translation" lang="ru"><span title="">Этот пример демонстрирует некоторые преимущества</span></span> при использовании смещения холста. Без использования метода <code>translate()</code> все прямоугольники будут отрисованы в одинаковой позиции (0,0). Метод <code>translate()</code> даёт возможность размещения прямоугольника в любой позиции без изменения параметров функции <code>fillRect()</code>. Это может дать некоторое упрощение для понимания и использования.</p>
<p>Внутри функции <code>draw()</code> мы вызываем <code>fillRect()</code> девять раз, используя два цикла <code>for</code>. Каждый раз мы сохраняем состояние холста, смещаем его, рисуем прямоугольник, а затем восстанавливаем исходное состояние. Заметьте, что <code>fillRect()</code> всегда использует одни и те же параметры, а изменение позиции фигуры осуществляется с помощью <code>translate()</code>.</p>
@@ -192,7 +192,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Transformations
ctx.fillRect(1, 10, 10, 10);
ctx.restore();
- // размещаем текст, отраженный по горизонтали
+ // размещаем текст, отражённый по горизонтали
ctx.scale(-1, 1);
ctx.font = '48px serif';
ctx.fillText('MDN', -135, 120);
@@ -214,7 +214,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Transformations
<dl>
<dt>{{domxref("CanvasRenderingContext2D.transform", "transform(a, b, c, d, e, f)")}}</dt>
- <dd>Накладывает матрицу преобразования, заданную параметрами, на текущую матрицу. Матрица преобразования задается следующим образом: <math><semantics><mrow><mo>[</mo><mtable columnalign="center center center" rowspacing="0.5ex"><mtr><mtd><mi>a</mi></mtd><mtd><mi>c</mi></mtd><mtd><mi>e</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd><mtd><mi>d</mi></mtd><mtd><mi>f</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow><annotation encoding="TeX">\left[ \begin{array}{ccc} a &amp; c &amp; e \\ b &amp; d &amp; f \\ 0 &amp; 0 &amp; 1 \end{array} \right]</annotation></semantics></math></dd>
+ <dd>Накладывает матрицу преобразования, заданную параметрами, на текущую матрицу. Матрица преобразования задаётся следующим образом: <math><semantics><mrow><mo>[</mo><mtable columnalign="center center center" rowspacing="0.5ex"><mtr><mtd><mi>a</mi></mtd><mtd><mi>c</mi></mtd><mtd><mi>e</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd><mtd><mi>d</mi></mtd><mtd><mi>f</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow><annotation encoding="TeX">\left[ \begin{array}{ccc} a &amp; c &amp; e \\ b &amp; d &amp; f \\ 0 &amp; 0 &amp; 1 \end{array} \right]</annotation></semantics></math></dd>
</dl>
<dl>
diff --git a/files/ru/web/api/canvas_api/tutorial/using_images/index.html b/files/ru/web/api/canvas_api/tutorial/using_images/index.html
index 65470e1d07..c8e40a0c5f 100644
--- a/files/ru/web/api/canvas_api/tutorial/using_images/index.html
+++ b/files/ru/web/api/canvas_api/tutorial/using_images/index.html
@@ -9,7 +9,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Использование_изобр
<div>{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Drawing_text", "Web/API/Canvas_API/Tutorial/Трансформации")}}</div>
<div class="summary">
-<p>До сих пор мы создавали наши собственные фигуры и применяли стили к ним. Одна из самых впечатляющих функций {{HTMLElement("canvas")}} это возможность использования изображений. Они могут быть использованы для динамического композитинга фото или как фоны графиков, для спрайтов в играх, и так далее. Внешние изображения могут быть использованы в любых поддерживаемых браузером форматах, таких как PNG, GIF, или JPEG. Вы можете даже использовать изображение, произведенное другими canvas элементами на той же странице как источник!</p>
+<p>До сих пор мы создавали наши собственные фигуры и применяли стили к ним. Одна из самых впечатляющих функций {{HTMLElement("canvas")}} это возможность использования изображений. Они могут быть использованы для динамического композитинга фото или как фоны графиков, для спрайтов в играх, и так далее. Внешние изображения могут быть использованы в любых поддерживаемых браузером форматах, таких как PNG, GIF, или JPEG. Вы можете даже использовать изображение, произведённое другими canvas элементами на той же странице как источник!</p>
</div>
<p>Импортирование изображений в canvas в основном состоит из 2 этапов:</p>
@@ -62,15 +62,15 @@ original_slug: Web/API/Canvas_API/Tutorial/Использование_изобр
<p>Другой способ это создать новые {{domxref("HTMLImageElement")}} объекты в нашем скрипте.  Чтобы это сделать, вы можете использовать удобный <code>Image()</code> конструктор:</p>
-<pre class="brush: js">var img = new Image(); // Создает новый элемент изображения
+<pre class="brush: js">var img = new Image(); // Создаёт новый элемент изображения
img.src = 'myImage.png'; // Устанавливает путь
</pre>
-<p>Когда этот скрипт выполнится, изображение начнет загружаться.</p>
+<p>Когда этот скрипт выполнится, изображение начнёт загружаться.</p>
<p>Если вы попытаетесь вызвать функцию <code>drawImage()</code> перед тем как изображение загрузится, то скрипт ничего не сделает (или, в старых браузерах, может даже выдать исключение). Поэтому вам необходимо использовать событие load, чтобы вы не пытались сделать это прежде, чем изображение загрузится:</p>
-<pre class="brush: js">var img = new Image(); // Создает новое изображение
+<pre class="brush: js">var img = new Image(); // Создаёт новое изображение
img.addEventListener("load", function() {
// здесь выполняет drawImage функцию
}, false);
@@ -83,7 +83,7 @@ img.src = 'myImage.png'; // Устанавливает источник файл
<p>Другой возможный способ включить изображение это через <a class="external" href="/en-US/docs/Web/HTTP/data_URIs" rel="external" title="http://en.wikipedia.org/wiki/Data:_URL">data: url</a>. Data URLs позволяет вам полностью определить изображение как Base64 кодированную строку символов прямо в ваш код.</p>
-<pre class="brush: js">var img = new Image(); // Создает новый элемент img
+<pre class="brush: js">var img = new Image(); // Создаёт новый элемент img
img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAsAAAIUhA+hkcuO4lmNVindo7qyrIXiGBYAOw==';
</pre>
@@ -105,7 +105,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs
}
</pre>
-<p>Эта функция вернет {{domxref("HTMLVideoElement")}} объект для этого видео, который, как мы упоминали ранее, является одним из объектов, который можно использовать как <code>CanvasImageSource</code>.</p>
+<p>Эта функция вернёт {{domxref("HTMLVideoElement")}} объект для этого видео, который, как мы упоминали ранее, является одним из объектов, который можно использовать как <code>CanvasImageSource</code>.</p>
<h2 id="Рисование_изображений">Рисование изображений</h2>
@@ -154,7 +154,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs
<h2 id="Изменение_размеров">Изменение размеров</h2>
-<p>Второй вариант метода <code>drawImage()</code> добавляет два новых параметра и позволяет разместить изображение в  canvas с измененными размерами.</p>
+<p>Второй вариант метода <code>drawImage()</code> добавляет два новых параметра и позволяет разместить изображение в  canvas с изменёнными размерами.</p>
<dl>
<dt>{{domxref("CanvasRenderingContext2D.drawImage", "drawImage(image, x, y, width, height)")}}</dt>
@@ -163,7 +163,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs
<h3 id="Пример_Тайлинг_изображения">Пример: Тайлинг изображения</h3>
-<p>В этом примере, мы будем использовать изображение в качестве обоев и повторим его в canvas несколько раз. Это может быть сделано просто через цикл, располагая измененные изображения на разных позициях. В коде внизу, первый цикл <code>for</code> проходит по рядам. Второй цикл <code>for</code> проходит по колонкам. Изображение уменьшено на треть от реального размера, которое было  50x38 пикселей.</p>
+<p>В этом примере, мы будем использовать изображение в качестве обоев и повторим его в canvas несколько раз. Это может быть сделано просто через цикл, располагая изменённые изображения на разных позициях. В коде внизу, первый цикл <code>for</code> проходит по рядам. Второй цикл <code>for</code> проходит по колонкам. Изображение уменьшено на треть от реального размера, которое было  50x38 пикселей.</p>
<div class="note">
<p><strong>Обратите внимание</strong>: Изображения могут стать размытыми, при большом увеличении или зернистыми при значительном уменьшении. Возможно, лучше всего не изменять размеры изображения, если на них есть текст, который должен остаться читаемым. </p>
@@ -197,7 +197,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs
<h2 id="Нарезка">Нарезка</h2>
-<p>У третьего и последнего варианта метода <code>drawImage()</code> в дополнении к источнику изображения есть еще восемь параметров . Он позволяет нам вырезать кусок из изображения, затем изменить его размер и нарисовать его в canvas.</p>
+<p>У третьего и последнего варианта метода <code>drawImage()</code> в дополнении к источнику изображения есть ещё восемь параметров . Он позволяет нам вырезать кусок из изображения, затем изменить его размер и нарисовать его в canvas.</p>
<dl>
<dt>{{domxref("CanvasRenderingContext2D.drawImage", "drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)")}}</dt>
@@ -210,7 +210,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs
<h3 id="Пример_Обрамление_изображения">Пример: Обрамление изображения</h3>
-<p>В этом примере, мы будем использовать того же носорога, что и в предыдущем примере, но мы отрежем его голову и включим ее в рамку. Изображение рамки это 24-х битный PNG, который включает падающую тень. Так как в 24-х битные PNG изображения включается полный 8-ми битный альфа-канал, в отличие от GIF и 8-битных PNG изображений, он может быть помещен в любой фон, без беспокойства о матовом цвете. </p>
+<p>В этом примере, мы будем использовать того же носорога, что и в предыдущем примере, но мы отрежем его голову и включим её в рамку. Изображение рамки это 24-х битный PNG, который включает падающую тень. Так как в 24-х битные PNG изображения включается полный 8-ми битный альфа-канал, в отличие от GIF и 8-битных PNG изображений, он может быть помещён в любой фон, без беспокойства о матовом цвете. </p>
<pre class="brush: html">&lt;html&gt;
 &lt;body onload="draw();"&gt;
@@ -300,7 +300,7 @@ td {
// Не добавляет canvas для изображения рамки
if (document.images[i].getAttribute('id')!='frame'){
- // Создает элемент canvas
+ // Создаёт элемент canvas
var canvas = document.createElement('canvas');
canvas.setAttribute('width',132);
canvas.setAttribute('height',150);
diff --git a/files/ru/web/api/canvascapturemediastreamtrack/index.html b/files/ru/web/api/canvascapturemediastreamtrack/index.html
index 9705e65314..ecfbf9756b 100644
--- a/files/ru/web/api/canvascapturemediastreamtrack/index.html
+++ b/files/ru/web/api/canvascapturemediastreamtrack/index.html
@@ -49,7 +49,7 @@ translation_of: Web/API/CanvasCaptureMediaStreamTrack
<h2 id="Совместимость_браузера">Совместимость браузера</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data </a>и пошлите нами запрос тяги.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data </a>и пошлите нами запрос тяги.</div>
<p>{{Compat ("api.CanvasCaptureMediaStreamTrack")}}</p>
</div>
diff --git a/files/ru/web/api/canvasgradient/index.html b/files/ru/web/api/canvasgradient/index.html
index d3e23dc501..2b5a45212c 100644
--- a/files/ru/web/api/canvasgradient/index.html
+++ b/files/ru/web/api/canvasgradient/index.html
@@ -24,7 +24,7 @@ translation_of: Web/API/CanvasGradient
<dl>
<dt>{{domxref("CanvasGradient.addColorStop()")}}</dt>
- <dd>Добавляет в градиент новый маркер, определяемый смещением и цветом. <code>Если смещение входдит за пределы 0</code> и <code>1</code>, генерируется <code>INDEX_SIZE_ERR</code>. Если не удается обработать цвет как CSS {{cssxref("&lt;color&gt;")}}, генерируется <code>SYNTAX_ERR</code>.</dd>
+ <dd>Добавляет в градиент новый маркер, определяемый смещением и цветом. <code>Если смещение входдит за пределы 0</code> и <code>1</code>, генерируется <code>INDEX_SIZE_ERR</code>. Если не удаётся обработать цвет как CSS {{cssxref("&lt;color&gt;")}}, генерируется <code>SYNTAX_ERR</code>.</dd>
</dl>
<h2 id="Характеристики"><span class="short_text" id="result_box" lang="ru"><span>Характеристики</span></span></h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/arc/index.html b/files/ru/web/api/canvasrenderingcontext2d/arc/index.html
index fe39629a52..0d8a97de99 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/arc/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/arc/index.html
@@ -41,7 +41,7 @@ translation_of: Web/API/CanvasRenderingContext2D/arc
<h3 id="Using_the_arc_method" name="Using_the_arc_method">Использование метода <code>arc</code></h3>
-<p>Ниже приведен пример простого кода который рисует круг.</p>
+<p>Ниже приведён пример простого кода который рисует круг.</p>
<h4 id="HTML">HTML</h4>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html b/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html
index 3e74f3015b..d1b461f3b1 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html
@@ -41,7 +41,7 @@ translation_of: Web/API/CanvasRenderingContext2D/arcTo
<h3 id="Как_работает_arcTo">Как работает arcTo</h3>
-<p>Один из способов понять как работает <code>arcTo()</code> - представить две прямые линии: одна идёт от начальной точки к первой контрольной точке, а вторая от этой точки до второй контрольной точки. Без <code>arcTo()</code> эти два сегмента образовали бы острый угол: <code>arcTo()</code> создает дугу между этими двумя точками и сглаживает его. Другими словами, дуга является касательной для обеих линий.</p>
+<p>Один из способов понять как работает <code>arcTo()</code> - представить две прямые линии: одна идёт от начальной точки к первой контрольной точке, а вторая от этой точки до второй контрольной точки. Без <code>arcTo()</code> эти два сегмента образовали бы острый угол: <code>arcTo()</code> создаёт дугу между этими двумя точками и сглаживает его. Другими словами, дуга является касательной для обеих линий.</p>
<h4 id="HTML">HTML</h4>
@@ -87,7 +87,7 @@ ctx.fill();</pre>
<p>{{ EmbedLiveSample('Как_работает_arcTo', 315, 165) }}</p>
-<h3 id="Создание_скругленного_угла">Создание скругленного угла</h3>
+<h3 id="Создание_скруглённого_угла">Создание скруглённого угла</h3>
<p>В этом примере создаётся скруглённый угол с использованием <code>arcTo()</code>. Это ещё один метод, который часто используется.</p>
@@ -123,7 +123,7 @@ ctx.stroke();</pre>
<h4 id="Результат_2">Результат</h4>
-<p>{{ EmbedLiveSample('Создание_скругленного_угла', 315, 165) }}</p>
+<p>{{ EmbedLiveSample('Создание_скруглённого_угла', 315, 165) }}</p>
<h3 id="Результат_с_большим_радиусом">Результат с большим радиусом</h3>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/beziercurveto/index.html b/files/ru/web/api/canvasrenderingcontext2d/beziercurveto/index.html
index 635c849882..81fe31aa72 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/beziercurveto/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/beziercurveto/index.html
@@ -74,7 +74,7 @@ ctx.fillRect(150, 70, 10, 10);</pre>
<h3 id="Практическое_применение_bezierCurveTo">Практическое применение <code>bezierCurveTo</code></h3>
-<p>Вы можете редактировать код, представленный ниже, и внесенные вами изменения отобразятся на холсте в режиме реального времени:</p>
+<p>Вы можете редактировать код, представленный ниже, и внесённые вами изменения отобразятся на холсте в режиме реального времени:</p>
<div class="hidden">
<pre class="brush: html">&lt;canvas id="canvas" width="400" height="200" class="playable-canvas"&gt;&lt;/canvas&gt;
diff --git a/files/ru/web/api/canvasrenderingcontext2d/clearrect/index.html b/files/ru/web/api/canvasrenderingcontext2d/clearrect/index.html
index 70352dbe22..cf5dea358d 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/clearrect/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/clearrect/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/CanvasRenderingContext2D/clearRect
---
<div>{{APIRef}}</div>
-<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.clearRect()</code></strong>, предоставляемый Canvas 2D API, устанавливает прозрачный черный цвет для всех пикселей, расположенных внутри прямоугольника, заданного начальной точкой <em>(x, y)</em> и размерами <em>(width, height)</em>, таким образом стирая любое ранее нарисованное содержимое.</p>
+<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.clearRect()</code></strong>, предоставляемый Canvas 2D API, устанавливает прозрачный чёрный цвет для всех пикселей, расположенных внутри прямоугольника, заданного начальной точкой <em>(x, y)</em> и размерами <em>(width, height)</em>, таким образом стирая любое ранее нарисованное содержимое.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html b/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html
index 86ecbaf06d..89349a3873 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html
@@ -50,7 +50,7 @@ ctx.stroke();
<h3 id="Закрытие_пути_один_раз">Закрытие пути один раз</h3>
-<p>Этот пример рисует смайлик, состоящий из трех не соединенных дуг (под путей).</p>
+<p>Этот пример рисует смайлик, состоящий из трёх не соединённых дуг (под путей).</p>
<div class="blockIndicator note">
<p>Хотя <code>closePath()</code> вызывается после создания всех дуг, закрывается только последняя.</p>
@@ -63,7 +63,7 @@ ctx.stroke();
<h4 id="JavaScript_2">JavaScript</h4>
-<p>Первые две дуги создают глаза, последняя создает рот.</p>
+<p>Первые две дуги создают глаза, последняя создаёт рот.</p>
<pre class="brush: js; highlight:[10]">const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
diff --git a/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html b/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html
index 9337731350..25d4a915b3 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html
@@ -10,7 +10,7 @@ translation_of: Web/API/CanvasRenderingContext2D/createLinearGradient
---
<div>{{APIRef}}</div>
-<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.createLinearGradient()</code></strong>, предоставляемый Canvas 2D API, создает градиент вдоль линии, соединенной двумя точками с заданными координатами.</p>
+<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.createLinearGradient()</code></strong>, предоставляемый Canvas 2D API, создаёт градиент вдоль линии, соединённой двумя точками с заданными координатами.</p>
<p><img alt="" src="https://mdn.mozillademos.org/files/14681/mdn-canvas-linearGradient.png" style="height: 121px; width: 264px;"></p>
@@ -44,14 +44,14 @@ translation_of: Web/API/CanvasRenderingContext2D/createLinearGradient
<dl>
<dt>{{domxref("CanvasGradient")}}</dt>
- <dd>Линейный <code>CanvasGradient</code>, определенный линией.</dd>
+ <dd>Линейный <code>CanvasGradient</code>, определённый линией.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
<h3 id="Заполнение_прямоугольника_с_линейным_градиентом">Заполнение прямоугольника с линейным градиентом</h3>
-<p>В примере создается и добавляется линейный градиент, используя метод <code>createLinearGradient()</code>. Градиент имеет три точки остановки цвета между созданными начальной и конечной точками линии.</p>
+<p>В примере создаётся и добавляется линейный градиент, используя метод <code>createLinearGradient()</code>. Градиент имеет три точки остановки цвета между созданными начальной и конечной точками линии.</p>
<h4 id="HTML">HTML</h4>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html b/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html
index 8a510de988..370ecfcb57 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html
@@ -28,28 +28,28 @@ void <var><em>ctx</em>.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth,
<dt><code>image</code></dt>
<dd>Элемент для отображения в контексте. Функция принимает любой источник изображения, пригодный для отображения на холсте ({{domxref("CanvasImageSource")}}), конкретнее, {{domxref("CSSImageValue")}},  {{domxref("HTMLImageElement")}}, {{domxref("SVGImageElement")}}, {{domxref("HTMLVideoElement")}}, {{domxref("HTMLCanvasElement")}}, {{domxref("ImageBitmap")}} или {{domxref("OffscreenCanvas")}}.</dd>
<dt><code>dx</code></dt>
- <dd>Координата по оси Х, обозначающая стартовую точку холста-приемника, в которую будет помещен верхний левый угол исходного <code>image</code>.</dd>
+ <dd>Координата по оси Х, обозначающая стартовую точку холста-приёмника, в которую будет помещён верхний левый угол исходного <code>image</code>.</dd>
<dt><code>dy</code></dt>
- <dd>Координата по оси Y, обозначающая стартовую точку холста-приемника, в которую будет помещен верхний левый угол исходного <code>image</code>.</dd>
+ <dd>Координата по оси Y, обозначающая стартовую точку холста-приёмника, в которую будет помещён верхний левый угол исходного <code>image</code>.</dd>
<dt><code>dWidth</code></dt>
<dd>Ширина изображения, полученного из исходного <code>image</code>. Эта опция позволяет масштабировать изображение по ширине. Если опция не задана, изображение не будет масштабировано.</dd>
<dt><code>dHeight</code></dt>
<dd>Высота изображения, полученного из исходного <code>image</code>. Эта опция позволяет масштабировать изображение по высоте. Если опция не задана, изображение не будет масштабировано.</dd>
<dt><code>sx</code></dt>
- <dd>Координата по оси X верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещен в контекст-приемник.</dd>
+ <dd>Координата по оси X верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещён в контекст-приемник.</dd>
<dt><code>sy</code></dt>
- <dd>Координата по оси Y верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещен в контекст-приемник.</dd>
+ <dd>Координата по оси Y верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещён в контекст-приемник.</dd>
<dt><code>sWidth</code></dt>
- <dd>Ширина фрагмента, который будет вырезан из изображения источника и помещен в контекст-приемник. Если не задана, фрагмент от точки, заданной <code>sx</code> и <code>sy</code> до правого нижнего угла источника будет целиком скопирован в контекст-приемник.</dd>
+ <dd>Ширина фрагмента, который будет вырезан из изображения источника и помещён в контекст-приёмник. Если не задана, фрагмент от точки, заданной <code>sx</code> и <code>sy</code> до правого нижнего угла источника будет целиком скопирован в контекст-приемник.</dd>
<dt><code>sHeight</code></dt>
- <dd>Высота фрагмента, который будет вырезан из изображения источника и помещен в контекст-приемник.</dd>
+ <dd>Высота фрагмента, который будет вырезан из изображения источника и помещён в контекст-приемник.</dd>
</dl>
<h3 id="Исключения">Исключения</h3>
<dl>
<dt><code>INDEX_SIZE_ERR</code></dt>
- <dd>Выбрасывается, если ширина или высота источника или приемника равна нулю.</dd>
+ <dd>Выбрасывается, если ширина или высота источника или приёмника равна нулю.</dd>
<dt><code>INVALID_STATE_ERR</code></dt>
<dd>Источник не имеет данных изображения.</dd>
<dt><code>TYPE_MISMATCH_ERR</code></dt>
@@ -316,7 +316,7 @@ function drawImageActualSize() {
<ul>
<li><code>drawImage()</code> корректно работает с {{domxref("HTMLVideoElement")}} только в том случае, когда {{domxref("HTMLMediaElement.readyState")}}<strong> больше единицы</strong> (т.е., событие <strong>seek</strong> корректно вызывается после установки свойства <code>currentTime</code>)</li>
<li><code>drawImage()</code> будет использовать внутренний размер элемента-источника, выраженный в CSS-пикселях, при рисовании, фрагментировании или масштабировании.</li>
- <li><code>drawImage()</code> проигнорирует все EXIF-данные изображений, в том числе и <code>Orientation</code>. Такое поведение метода особенно проблематично для iOS-устройств. Вам потребуется распознать ориентацию самостоятельно и использовать <code>rotate()</code> для ее корректировки.</li>
+ <li><code>drawImage()</code> проигнорирует все EXIF-данные изображений, в том числе и <code>Orientation</code>. Такое поведение метода особенно проблематично для iOS-устройств. Вам потребуется распознать ориентацию самостоятельно и использовать <code>rotate()</code> для её корректировки.</li>
</ul>
<h2 id="См._также">См. также</h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html b/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html
index 62fe8e6913..48c6ac8108 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/CanvasRenderingContext2D/ellipse
<pre class="syntaxbox notranslate">void <em>ctx</em>.ellipse(<em>x</em>, <em>y</em>, <em>radiusX</em>, <em>radiusY</em>, <em>rotation</em>, <em>startAngle</em>, <em>endAngle</em> [, <em>anticlockwise</em>]);
</pre>
-<p><code>ellipse()</code> - метод, который создает эллиптическую дугу с центром в точках <code>(x, y)</code> с радиусом <code>radiusX</code> и <code>radiusY</code>. Путь начинается от точки <code>startAngle</code> и заканчивается в точке <code>endAngle</code>, идет по направлению, казанному в параметре (по часовой стрелке или против нее) <code>anticlockwise</code> .</p>
+<p><code>ellipse()</code> - метод, который создаёт эллиптическую дугу с центром в точках <code>(x, y)</code> с радиусом <code>radiusX</code> и <code>radiusY</code>. Путь начинается от точки <code>startAngle</code> и заканчивается в точке <code>endAngle</code>, идёт по направлению, казанному в параметре (по часовой стрелке или против неё) <code>anticlockwise</code> .</p>
<h3 id="Параметры">Параметры</h3>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/fill/index.html b/files/ru/web/api/canvasrenderingcontext2d/fill/index.html
index d7ec3573d8..ddc127a9ad 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/fill/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/fill/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/CanvasRenderingContext2D/fill
---
<div>{{APIRef}}</div>
-<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fill()</code></strong> метод Canvas 2D API заполняет текущий или заданный путём с текущим стилем заливки, используя одно из двух правил - ненулевого индекса или четно-нечетное.</p>
+<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fill()</code></strong> метод Canvas 2D API заполняет текущий или заданный путём с текущим стилем заливки, используя одно из двух правил - ненулевого индекса или чётно-нечетное.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -28,7 +28,7 @@ void <var><em>ctx</em>.fill(path[, fillRule]);</var>
Возможные значения:
<ul>
<li><code><strong>"nonzero</strong></code>": <a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE_%D0%BD%D0%B5%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0">Правило ненулевого индекса</a>, значение по умолчанию</li>
- <li><code><strong>"evenodd"</strong></code>: <a href="http://en.wikipedia.org/wiki/Even%E2%80%93odd_rule">Четно-нечетное правило</a></li>
+ <li><code><strong>"evenodd"</strong></code>: <a href="http://en.wikipedia.org/wiki/Even%E2%80%93odd_rule">Чётно-нечётное правило</a></li>
</ul>
</dd>
<dt><code>path</code></dt>
@@ -54,7 +54,7 @@ ctx.rect(10, 10, 100, 100);
ctx.fill();
</pre>
-<p>Отредактируйте приведенный ниже код и посмотрите, как обновляется ваше обновление на холсте:</p>
+<p>Отредактируйте приведённый ниже код и посмотрите, как обновляется ваше обновление на холсте:</p>
<div class="hidden">
<h6 id="Playable_code">Playable code</h6>
@@ -116,7 +116,7 @@ window.addEventListener("load", drawCanvas);
<h2 id="Совместимость">Совместимость</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте запрос, чтобы мы изменили данные.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте запрос, чтобы мы изменили данные.</div>
<p>{{Compat("api.CanvasRenderingContext2D.fill")}}</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html b/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html
index a0df2eb821..17c6172158 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/CanvasRenderingContext2D/fillStyle
---
<div>{{APIRef}}</div>
-<p>Свойство <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fillStyle</code></strong>, предоставляемое <a href="/ru/docs/Web/API/Canvas_API">Canvas 2D API</a>, задает цвет или стиль, используемый при заливке фигур. По умолчанию установлено значение <code>#000</code> (черный цвет).</p>
+<p>Свойство <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fillStyle</code></strong>, предоставляемое <a href="/ru/docs/Web/API/Canvas_API">Canvas 2D API</a>, задаёт цвет или стиль, используемый при заливке фигур. По умолчанию установлено значение <code>#000</code> (чёрный цвет).</p>
<div class="blockIndicator note">
<p>См. также главу <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors">Applying styles and color</a> в <a href="/en-US/docs/Web/API/Canvas_API/Tutorial">Canvas Tutorial</a>.</p>
@@ -57,7 +57,7 @@ ctx.fillRect(10, 10, 100, 100);</pre>
<h3 id="Использование_fillStyle_в_циклах_for">Использование fillStyle в циклах for</h3>
-<p>В этом примере мы используем два цикла для рисования сетки из прямоугольников, каждый из которых будет закрашен разным цветом. Получившееся изображение должно выглядеть как на скриншоте . Здесь нет ничего сложного. Мы используем две переменные <code>i</code> и <code>j</code>, чтобы создать уникальный цвет для каждого квадрата, смешивая красный и зеленый цвета. Значение синего цвета изменяться не будет. Изменяя значения цветов, вы можете создать все цвета. Увеличив количество шагов, вы сможете создать цветовую палитру, наподобие той, которая используется в Photoshop.</p>
+<p>В этом примере мы используем два цикла для рисования сетки из прямоугольников, каждый из которых будет закрашен разным цветом. Получившееся изображение должно выглядеть как на скриншоте . Здесь нет ничего сложного. Мы используем две переменные <code>i</code> и <code>j</code>, чтобы создать уникальный цвет для каждого квадрата, смешивая красный и зелёный цвета. Значение синего цвета изменяться не будет. Изменяя значения цветов, вы можете создать все цвета. Увеличив количество шагов, вы сможете создать цветовую палитру, наподобие той, которая используется в Photoshop.</p>
<div class="hidden">
<pre class="brush: html">&lt;canvas id="canvas" width="150" height="150"&gt;&lt;/canvas&gt;</pre>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html b/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html
index ffa2b83d8c..7823142df3 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/CanvasRenderingContext2D/fillText
---
<div>{{APIRef}}</div>
-<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fillText(),</code></strong> предоставляемый Canvas 2D API, рисует (заливает) заданный текст в заданной позиции (<em>x, y</em>). Если указан необязательный четвертый параметр, текст будет масштабироваться в соответствии с указанной максимальной шириной.</p>
+<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fillText(),</code></strong> предоставляемый Canvas 2D API, рисует (заливает) заданный текст в заданной позиции (<em>x, y</em>). Если указан необязательный четвёртый параметр, текст будет масштабироваться в соответствии с указанной максимальной шириной.</p>
<p>См. также метод {{domxref("CanvasRenderingContext2D.strokeText()")}} для выполнения обводки текста.</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/font/index.html b/files/ru/web/api/canvasrenderingcontext2d/font/index.html
index e1349eb001..572f0af5f3 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/font/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/font/index.html
@@ -27,7 +27,7 @@ translation_of: Web/API/CanvasRenderingContext2D/font
<h3 id="Использование_пользовательского_шрифта">Использование пользовательского шрифта</h3>
-<p>Этот пример задает в свойстве <code>font</code> другие <code>font-size</code> и <code>font-family</code>.</p>
+<p>Этот пример задаёт в свойстве <code>font</code> другие <code>font-size</code> и <code>font-family</code>.</p>
<h4 id="HTML">HTML</h4>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/getimagedata/index.html b/files/ru/web/api/canvasrenderingcontext2d/getimagedata/index.html
index 879efff5f0..b2a236c22a 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/getimagedata/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/getimagedata/index.html
@@ -20,13 +20,13 @@ translation_of: Web/API/CanvasRenderingContext2D/getImageData
<dl>
<dt><code>sx</code></dt>
- <dd>Координата x верхнего левого угла прямоугольника, из которого будет извлечен ImageData.</dd>
+ <dd>Координата x верхнего левого угла прямоугольника, из которого будет извлечён ImageData.</dd>
<dt><code>sy</code></dt>
- <dd>Координата y верхнего левого угла прямоугольника, из которого будет извлечен ImageData.</dd>
+ <dd>Координата y верхнего левого угла прямоугольника, из которого будет извлечён ImageData.</dd>
<dt><code>sw</code></dt>
- <dd>Ширина прямоугольника, из которого будет извлечен ImageData.</dd>
+ <dd>Ширина прямоугольника, из которого будет извлечён ImageData.</dd>
<dt><code>sh</code></dt>
- <dd>Высота прямоугольника, из которого будет извлечен ImageData.</dd>
+ <dd>Высота прямоугольника, из которого будет извлечён ImageData.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html b/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html
index ec3adafad1..59559fe3cb 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/CanvasRenderingContext2D/getLineDash
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>{{jsxref("Array")}} (массив) чисел которые обозначают расстояния рисования линий и разрывов (в единицах пространства координат). Если число заданных элементов нечетное, то заданные элементы массива копируются и суммируются. Например, установив штрихи линии как <code>[5, 15, 25]</code> в результате мы получим <code>[5, 15, 25, 5, 15, 25]</code>.</p>
+<p>{{jsxref("Array")}} (массив) чисел которые обозначают расстояния рисования линий и разрывов (в единицах пространства координат). Если число заданных элементов нечётное, то заданные элементы массива копируются и суммируются. Например, установив штрихи линии как <code>[5, 15, 25]</code> в результате мы получим <code>[5, 15, 25, 5, 15, 25]</code>.</p>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html b/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html
index f9ec551915..f2a0e38c0e 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html
@@ -62,7 +62,7 @@ ctx.fillRect(50, 50, 100, 100);
<h3 id="Наложение_прозрачных_фигур">Наложение прозрачных фигур</h3>
-<p>Этот пример демонстрирует эффект наложения нескольких прозрачных фигур друг на друга. Мы начнем с отрисовки непрозрачного фона, состоящего из четырех разноцветных квадратов. Далее мы устанавливаем свойство <code>globalAlpha</code> равное <code>0.2</code> (20% прозрачности); Уровень прозрачности будет применен ко всем прозрачным фигурам. Затем мы используем цикл <code>for</code> для отрисовки нескольких кругов с увеличивающимися радиусами.</p>
+<p>Этот пример демонстрирует эффект наложения нескольких прозрачных фигур друг на друга. Мы начнём с отрисовки непрозрачного фона, состоящего из четырёх разноцветных квадратов. Далее мы устанавливаем свойство <code>globalAlpha</code> равное <code>0.2</code> (20% прозрачности); Уровень прозрачности будет применён ко всем прозрачным фигурам. Затем мы используем цикл <code>for</code> для отрисовки нескольких кругов с увеличивающимися радиусами.</p>
<p>Для каждого нового круга прозрачность кругов, находящихся под ним,  уменьшается. Если вы увеличите количество шагов, тем самым увеличив количество кругов, фон в конечном итоге полностью исчезнет в центре изображения.</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/index.html b/files/ru/web/api/canvasrenderingcontext2d/index.html
index ba7e559918..149f72ee66 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/index.html
@@ -37,7 +37,7 @@ ctx.fillRect(10, 10, 55, 50);
<dl>
<dt>{{domxref("CanvasRenderingContext2D.clearRect()")}}</dt>
- <dd>Для всех пикселей, находящихся внутри прямоугольника, определенного начальной точкой <em>(x, y)</em> и размерами <em>(ширина, высота),</em> устанавливает черный прозрачный цвет, стирая любое ранее нарисованное содержимое.</dd>
+ <dd>Для всех пикселей, находящихся внутри прямоугольника, определённого начальной точкой <em>(x, y)</em> и размерами <em>(ширина, высота),</em> устанавливает чёрный прозрачный цвет, стирая любое ранее нарисованное содержимое.</dd>
<dt>{{domxref("CanvasRenderingContext2D.fillRect()")}}</dt>
<dd>Рисует залитый прямоугольник в позиции <em>(x, y)</em>, размеры которого определяются шириной <em>width</em> и высотой <em>height</em>.</dd>
<dt>{{domxref("CanvasRenderingContext2D.strokeRect()")}}</dt>
@@ -71,7 +71,7 @@ ctx.fillRect(10, 10, 55, 50);
<dt>{{domxref("CanvasRenderingContext2D.miterLimit")}}</dt>
<dd>Ограничение длины сопряжений. По умолчанию <code>10</code>.</dd>
<dt>{{domxref("CanvasRenderingContext2D.getLineDash()")}}</dt>
- <dd>Возвращает текущий паттерн штриховой линии, который представляет собой массив, состоящий из четного количества неотрицательных чисел.</dd>
+ <dd>Возвращает текущий паттерн штриховой линии, который представляет собой массив, состоящий из чётного количества неотрицательных чисел.</dd>
<dt>{{domxref("CanvasRenderingContext2D.setLineDash()")}}</dt>
<dd>Устанавливает текущий паттерн штриховой линии.</dd>
<dt>{{domxref("CanvasRenderingContext2D.lineDashOffset")}}</dt>
@@ -99,20 +99,20 @@ ctx.fillRect(10, 10, 55, 50);
<dl>
<dt>{{domxref("CanvasRenderingContext2D.fillStyle")}}</dt>
- <dd>Цвет или стиль применяемый внутри форм. По умолчанию #000 (черный).</dd>
+ <dd>Цвет или стиль применяемый внутри форм. По умолчанию #000 (чёрный).</dd>
<dt>{{domxref("CanvasRenderingContext2D.strokeStyle")}}</dt>
- <dd>Цвет или стиль , применяемый к линиям вокруг формы. По умолчанию #000 (черный).</dd>
+ <dd>Цвет или стиль , применяемый к линиям вокруг формы. По умолчанию #000 (чёрный).</dd>
</dl>
<h2 id="Градиенты_и_шаблоны">Градиенты и шаблоны</h2>
<dl>
<dt>{{domxref("CanvasRenderingContext2D.createLinearGradient()")}}</dt>
- <dd>Создает линейный градиент вдоль линии, задаваемой координатами, передаваемыми в параметры метода.</dd>
+ <dd>Создаёт линейный градиент вдоль линии, задаваемой координатами, передаваемыми в параметры метода.</dd>
<dt>{{domxref("CanvasRenderingContext2D.createRadialGradient()")}}</dt>
- <dd>Создает радиальный градиент, задаваемый координатами двух окружностей, передаваемыми в параметры метода.</dd>
+ <dd>Создаёт радиальный градиент, задаваемый координатами двух окружностей, передаваемыми в параметры метода.</dd>
<dt>{{domxref("CanvasRenderingContext2D.createPattern()")}}</dt>
- <dd>Создает шаблон, используя указанное изображение ({{domxref("CanvasImageSource")}}). Он повторяет исходное изображение в направлениях, указанных во втором аргументе. Этот метод возвращает {{domxref("CanvasPattern")}}.</dd>
+ <dd>Создаёт шаблон, используя указанное изображение ({{domxref("CanvasImageSource")}}). Он повторяет исходное изображение в направлениях, указанных во втором аргументе. Этот метод возвращает {{domxref("CanvasPattern")}}.</dd>
</dl>
<h2 id="Тени">Тени</h2>
@@ -134,7 +134,7 @@ ctx.fillRect(10, 10, 55, 50);
<dl>
<dt>{{domxref("CanvasRenderingContext2D.beginPath()")}}</dt>
- <dd>Создает новый пустой контур, обнуляя список фрагментов контура. Вызовите этот метод, когда захотите создать новый контур.</dd>
+ <dd>Создаёт новый пустой контур, обнуляя список фрагментов контура. Вызовите этот метод, когда захотите создать новый контур.</dd>
<dt>{{domxref("CanvasRenderingContext2D.closePath()")}}</dt>
<dd>Перемещает точку рисования назад к началу текущего фрагмента контура. Этот метод пытается провести прямую линию от текущей точки до начальной. Если форма уже закрыта или имеет только одну точку, метод ничего не делает.</dd>
<dt>{{domxref("CanvasRenderingContext2D.moveTo()")}}</dt>
@@ -152,7 +152,7 @@ ctx.fillRect(10, 10, 55, 50);
<dt>{{domxref("CanvasRenderingContext2D.ellipse()")}} {{experimental_inline}}</dt>
<dd>Добавляет к контуру эллипс, с центром в точке <em>(x, y)</em>, заданный радиусами <em>radiusX</em> и <em>radiusY</em>, имеющий угол начала <em>startAngle</em> и конца <em>endAngle</em>, рисующийся в направлении, заданном в аргументе <em>anticlockwise</em> (по умолчанию - по часовой стрелке).</dd>
<dt>{{domxref("CanvasRenderingContext2D.rect()")}}</dt>
- <dd>Создает контур прямоугольника с началом в точке <em>(x, y)</em>, и размерами, заданными шириной <em>width</em> и высотой <em>height</em>.</dd>
+ <dd>Создаёт контур прямоугольника с началом в точке <em>(x, y)</em>, и размерами, заданными шириной <em>width</em> и высотой <em>height</em>.</dd>
</dl>
<h2 id="Рисование_контуров">Рисование контуров</h2>
@@ -167,7 +167,7 @@ ctx.fillRect(10, 10, 55, 50);
<dt>{{domxref("CanvasRenderingContext2D.scrollPathIntoView()")}}</dt>
<dd>Прокручивает текущий или заданный контур в видимую область окна браузера.</dd>
<dt>{{domxref("CanvasRenderingContext2D.clip()")}}</dt>
- <dd>Создает область отсечения из текущих фрагментов контура. Все что рисуется после вызова метода <code>clip()</code> применяется только внутри области отсечения. Пример использования см. в разделе <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing" title="Clipping paths">Области отсечения</a> руководства по Canvas.</dd>
+ <dd>Создаёт область отсечения из текущих фрагментов контура. Все что рисуется после вызова метода <code>clip()</code> применяется только внутри области отсечения. Пример использования см. в разделе <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing" title="Clipping paths">Области отсечения</a> руководства по Canvas.</dd>
<dt>{{domxref("CanvasRenderingContext2D.isPointInPath()")}}</dt>
<dd>Позволяет узнать, содержится ли указанная точка в текущем контуре.</dd>
<dt>{{domxref("CanvasRenderingContext2D.isPointInStroke()")}}</dt>
@@ -201,7 +201,7 @@ ctx.fillRect(10, 10, 55, 50);
<dt>{{domxref("CanvasRenderingContext2D.globalAlpha")}}</dt>
<dd>Значение альфа-канала, применяемое к формам и изображениям, прежде чем они накладываются на холст. Значение по умолчанию <code>1.0</code> (полностью непрозрачный).</dd>
<dt>{{domxref("CanvasRenderingContext2D.globalCompositeOperation")}}</dt>
- <dd>Совместно с примененным <code>globalAlpha</code> это свойство определяет как формы и изображения накладываются на существующее изображение.</dd>
+ <dd>Совместно с применённым <code>globalAlpha</code> это свойство определяет как формы и изображения накладываются на существующее изображение.</dd>
</dl>
<h2 id="Рисование_изображений">Рисование изображений</h2>
@@ -217,7 +217,7 @@ ctx.fillRect(10, 10, 55, 50);
<dl>
<dt>{{domxref("CanvasRenderingContext2D.createImageData()")}}</dt>
- <dd>Создает новый пустой объект {{domxref("ImageData")}} с заданными размерами. Цвет всех пикселов в новом объекте устанавливается в прозрачный черный.</dd>
+ <dd>Создаёт новый пустой объект {{domxref("ImageData")}} с заданными размерами. Цвет всех пикселов в новом объекте устанавливается в прозрачный черный.</dd>
<dt>{{domxref("CanvasRenderingContext2D.getImageData()")}}</dt>
<dd>Возвращает объект {{domxref("ImageData")}}, представляющий данные о пикселах, расположенных под областью холста, ограниченной прямоугольником длиной <em>sw</em> и высотой <em>sh</em>, начальная точка которого находится в позиции <em>(sx, sy)</em>.</dd>
<dt>{{domxref("CanvasRenderingContext2D.putImageData()")}}</dt>
@@ -228,7 +228,7 @@ ctx.fillRect(10, 10, 55, 50);
<dl>
<dt>{{domxref("CanvasRenderingContext2D.imageSmoothingEnabled")}} {{experimental_inline}}</dt>
- <dd>Режим сглаживания изображений; если отключен, изображения не будут сглаживаться при масштабировании.</dd>
+ <dd>Режим сглаживания изображений; если отключён, изображения не будут сглаживаться при масштабировании.</dd>
</dl>
<h2 id="Состояние_холста">Состояние холста</h2>
@@ -237,9 +237,9 @@ ctx.fillRect(10, 10, 55, 50);
<dl>
<dt>{{domxref("CanvasRenderingContext2D.save()")}}</dt>
- <dd>Сохраняет текущее состояние стилей рисования, используя для этого стек, так что вы можете отменить любые внесенные в него изменения с помощью метода <code>restore()</code>.</dd>
+ <dd>Сохраняет текущее состояние стилей рисования, используя для этого стек, так что вы можете отменить любые внесённые в него изменения с помощью метода <code>restore()</code>.</dd>
<dt>{{domxref("CanvasRenderingContext2D.restore()")}}</dt>
- <dd>Восстанавливает состояние стилей рисования в значение, сохраненное методом <code>save()</code> в стек состояний последним.</dd>
+ <dd>Восстанавливает состояние стилей рисования в значение, сохранённое методом <code>save()</code> в стек состояний последним.</dd>
<dt>{{domxref("CanvasRenderingContext2D.canvas")}}</dt>
<dd>Доступная только для чтения обратная ссылка на {{domxref("HTMLCanvasElement")}}. Может иметь значение {{jsxref("null")}}, если она не связана с элементом {{HTMLElement("canvas")}}.</dd>
</dl>
@@ -259,7 +259,7 @@ ctx.fillRect(10, 10, 55, 50);
<h3 id="Blink_и_WebKit">Blink и WebKit</h3>
-<p>Большинство из этих API являются <a href="https://code.google.com/p/chromium/issues/detail?id=363198">запрещенными и будут удалены в будущем</a>.</p>
+<p>Большинство из этих API являются <a href="https://code.google.com/p/chromium/issues/detail?id=363198">запрещёнными и будут удалены в будущем</a>.</p>
<dl>
<dt>{{non-standard_inline}} <code>CanvasRenderingContext2D.clearShadow()</code></dt>
@@ -307,9 +307,9 @@ ctx.fillRect(10, 10, 55, 50);
<dt>{{non-standard_inline}} <code>CanvasRenderingContext2D.webkitBackingStorePixelRatio</code></dt>
<dd><span id="result_box" lang="ru"><span>Размер хранилища по отношению к элементу canvas</span></span>. Смотри <a href="http://www.html5rocks.com/en/tutorials/canvas/hidpi/">High DPI Canvas</a>.</dd>
<dt>{{non-standard_inline}} <code>CanvasRenderingContext2D.webkitGetImageDataHD</code></dt>
- <dd>Предназначался для HD хранилищ, но удален из спецификации canvas.</dd>
+ <dd>Предназначался для HD хранилищ, но удалён из спецификации canvas.</dd>
<dt>{{non-standard_inline}} <code>CanvasRenderingContext2D.webkitPutImageDataHD</code></dt>
- <dd>Предназначался для HD хранилищ, но удален из спецификации canvas.</dd>
+ <dd>Предназначался для HD хранилищ, но удалён из спецификации canvas.</dd>
</dl>
<dl>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/linedashoffset/index.html b/files/ru/web/api/canvasrenderingcontext2d/linedashoffset/index.html
index ec4db4e6e2..9c1a2edd80 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/linedashoffset/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/linedashoffset/index.html
@@ -69,9 +69,9 @@ ctx.stroke();
<p>{{ EmbedLiveSample('Смещение_штрихов', '', '', '', 'Web/API/CanvasRenderingContext2D/lineDashOffset') }}</p>
-<h3 id="Эффект_марширующих_муравьев">Эффект марширующих муравьев</h3>
+<h3 id="Эффект_марширующих_муравьёв">Эффект марширующих муравьёв</h3>
-<p><a href="https://en.wikipedia.org/wiki/Marching_ants">Эффект марширующих муравьев</a> - это техника анимации, часто встречающаяся в инструментах выбора программ компьютерной графики. Это помогает пользователю отличить границу выделения от фона изображения, анимируя границу..</p>
+<p><a href="https://en.wikipedia.org/wiki/Marching_ants">Эффект марширующих муравьёв</a> - это техника анимации, часто встречающаяся в инструментах выбора программ компьютерной графики. Это помогает пользователю отличить границу выделения от фона изображения, анимируя границу..</p>
<div class="hidden">
<h6 id="HTML_2">HTML</h6>
@@ -102,7 +102,7 @@ const march = () =&gt; {
march();
</pre>
-<p>{{ EmbedLiveSample('Эффект_марширующих_муравьев', '', '', '', 'Web/API/CanvasRenderingContext2D/lineDashOffset') }}</p>
+<p>{{ EmbedLiveSample('Эффект_марширующих_муравьёв', '', '', '', 'Web/API/CanvasRenderingContext2D/lineDashOffset') }}</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html b/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html
index 46de026437..503a024b40 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html
@@ -29,7 +29,7 @@ translation_of: Web/API/CanvasRenderingContext2D/lineJoin
<dl>
<dt><code>round</code></dt>
- <dd>Скругляет углы за счет добавления сектора с центром в точке пересечения линий и радиусом равным толщине линии.</dd>
+ <dd>Скругляет углы за счёт добавления сектора с центром в точке пересечения линий и радиусом равным толщине линии.</dd>
<dt><code>bevel</code></dt>
<dd>"Срезает" угол, рисуя треугольник с вершинами в точке пересечения линий и крайних точках каждой линии.</dd>
<dt><code>miter</code></dt>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html b/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html
index db3b7db1ae..c935fa4c67 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html
@@ -58,7 +58,7 @@ ctx.stroke(); // Отображает путь</pre>
<p>{{ EmbedLiveSample('Рисование_прямых_линий', 700, 180) }}</p>
-<h3 id="Рисование_соединенных_линий">Рисование соединенных линий</h3>
+<h3 id="Рисование_соединённых_линий">Рисование соединённых линий</h3>
<p>Каждый вызов <code>lineTo()</code> автоматически добавляет текущий подпуть, это означает, что все линии будут обведены и закрашены вместе. Этот пример рисует букву 'M' линиями одного пути.</p>
@@ -82,7 +82,7 @@ ctx.stroke();</pre>
<h4 id="Результаты">Результаты</h4>
-<p>{{ EmbedLiveSample('Рисование_соединенных_линий', 700, 180) }}</p>
+<p>{{ EmbedLiveSample('Рисование_соединённых_линий', 700, 180) }}</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html b/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html
index 08126dbb6d..c91b520c4a 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/CanvasRenderingContext2D/lineWidth
---
<div>{{APIRef}}</div>
-<p><code>Свойство<strong> CanvasRenderingContext2D</strong></code><strong><code>.lineWidth</code></strong>, предоставляемое Canvas 2D API задает толщину линий в пикселах. При получении свойства возвращается его текущее значение. При задании свойства, присваиваемое значение должно быть положительным числом, ноль, отрицательные числа, {{jsxref("Infinity")}} и {{jsxref("NaN")}} игнорируются.</p>
+<p><code>Свойство<strong> CanvasRenderingContext2D</strong></code><strong><code>.lineWidth</code></strong>, предоставляемое Canvas 2D API задаёт толщину линий в пикселах. При получении свойства возвращается его текущее значение. При задании свойства, присваиваемое значение должно быть положительным числом, ноль, отрицательные числа, {{jsxref("Infinity")}} и {{jsxref("NaN")}} игнорируются.</p>
<p>См. также главу  <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors">Applying styles and color</a> в <a href="/en-US/docs/Web/API/Canvas_API/Tutorial">Canvas Tutorial</a>.</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/rect/index.html b/files/ru/web/api/canvasrenderingcontext2d/rect/index.html
index 532fdf1fdc..54b62df40b 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/rect/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/rect/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/CanvasRenderingContext2D/rect
---
<div>{{APIRef}}</div>
-<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.rect()</code></strong>, предоставляемый Canvas 2D API, создает контур прямоугольника в позиции <em>(x, y)</em>, размеры которого устанавливаются аргументами <em>width</em> и <em>height</em>. Четыре точки прямоугольника соединяются прямыми линиями, и получившийся фрагмент контура отмечается как замкнутый, так что вы можете выполнить его заливку или обрисовать контур.</p>
+<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.rect()</code></strong>, предоставляемый Canvas 2D API, создаёт контур прямоугольника в позиции <em>(x, y)</em>, размеры которого устанавливаются аргументами <em>width</em> и <em>height</em>. Четыре точки прямоугольника соединяются прямыми линиями, и получившийся фрагмент контура отмечается как замкнутый, так что вы можете выполнить его заливку или обрисовать контур.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/restore/index.html b/files/ru/web/api/canvasrenderingcontext2d/restore/index.html
index 33feac8b7e..ee4375afd4 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/restore/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/restore/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/CanvasRenderingContext2D/restore
---
<div>{{APIRef}}</div>
-<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.restore()</code></strong> восстанавливает предварительно сохраненное состояние канваса из стека. Если состояние ранее не сохранялось, то метод ничего не делает.</p>
+<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.restore()</code></strong> восстанавливает предварительно сохранённое состояние канваса из стека. Если состояние ранее не сохранялось, то метод ничего не делает.</p>
<p>Fore more information about the <a href="/en-US/docs/Web/API/CanvasRenderingContext2D.save#Drawing_state">drawing state</a>, see {{domxref("CanvasRenderingContext2D.save()")}}.</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/rotate/index.html b/files/ru/web/api/canvasrenderingcontext2d/rotate/index.html
index d750bcdee3..6e09b6a98b 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/rotate/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/rotate/index.html
@@ -27,7 +27,7 @@ translation_of: Web/API/CanvasRenderingContext2D/rotate
<h3 id="Использование_метода_rotate">Использование метода <code>rotate</code></h3>
-<p>Ниже приведен простой пример кода, который использует метод <code>rotate</code>.</p>
+<p>Ниже приведён простой пример кода, который использует метод <code>rotate</code>.</p>
<h4 id="HTML">HTML</h4>
@@ -46,7 +46,7 @@ ctx.fillRect(70, 0, 100, 30);
ctx.setTransform(1, 0, 0, 1, 0, 0);
</pre>
-<p>Отредактируйте приведенный ниже код и посмотрите, как обновляются ваши изменения на холсте:</p>
+<p>Отредактируйте приведённый ниже код и посмотрите, как обновляются ваши изменения на холсте:</p>
<div class="hidden">
<h6 id="Playable_code">Playable code</h6>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/stroke/index.html b/files/ru/web/api/canvasrenderingcontext2d/stroke/index.html
index 4f5e3a7386..7daaa192ed 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/stroke/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/stroke/index.html
@@ -28,7 +28,7 @@ void <var><em>ctx</em>.stroke(path);</var>
<h3 id="Использование_метода_stroke()">Использование метода <code>stroke()</code></h3>
-<p>В этом примере с помощью метода <code>rect()</code> создается прямоугольник, и затем с помощью <code>stroke()</code> отрисовывается на холсте.</p>
+<p>В этом примере с помощью метода <code>rect()</code> создаётся прямоугольник, и затем с помощью <code>stroke()</code> отрисовывается на холсте.</p>
<h4 id="HTML">HTML</h4>
@@ -43,7 +43,7 @@ ctx.rect(10, 10, 100, 100);
ctx.stroke();
</pre>
-<p>Отредактируйте приведенный ниже код и посмотрите, как обновляется рисунок на холсте:</p>
+<p>Отредактируйте приведённый ниже код и посмотрите, как обновляется рисунок на холсте:</p>
<div class="hidden">
<h6 id="Playable_code">Playable code</h6>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html b/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html
index a09679cce0..6d51e49f08 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/CanvasRenderingContext2D/strokeStyle
---
<div>{{APIRef}}</div>
-<p>Свойство<strong> </strong><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.strokeStyle</code></strong>, предоставляемое Canvas 2D API задает цвет или стиль, используемый при выполнении обводки фигур. По умолчанию установлено значение <code>#000</code> (черный цвет).</p>
+<p>Свойство<strong> </strong><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.strokeStyle</code></strong>, предоставляемое Canvas 2D API задаёт цвет или стиль, используемый при выполнении обводки фигур. По умолчанию установлено значение <code>#000</code> (чёрный цвет).</p>
<p>См. также главу <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors">Applying styles and color</a> в <a href="/en-US/docs/Web/API/Canvas_API/Tutorial">Canvas Tutorial</a>.</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html b/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html
index 4f7390f7cb..53126b08ed 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/CanvasRenderingContext2D/strokeText
---
<div>{{APIRef}}</div>
-<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.strokeText(),</code></strong> предоставляемый Canvas 2D API, выполняет обводку заданного текста в заданной позиции (<em>x, y</em>). Если указан необязательный четвертый параметр, текст будет масштабироваться в соответствие с указанной максимальной шириной.</p>
+<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.strokeText(),</code></strong> предоставляемый Canvas 2D API, выполняет обводку заданного текста в заданной позиции (<em>x, y</em>). Если указан необязательный четвёртый параметр, текст будет масштабироваться в соответствие с указанной максимальной шириной.</p>
<p>См. также метод {{domxref("CanvasRenderingContext2D.fillText()")}} для заливки контуров текста.</p>
diff --git a/files/ru/web/api/canvasrenderingcontext2d/textalign/index.html b/files/ru/web/api/canvasrenderingcontext2d/textalign/index.html
index 306558fa51..722612b831 100644
--- a/files/ru/web/api/canvasrenderingcontext2d/textalign/index.html
+++ b/files/ru/web/api/canvasrenderingcontext2d/textalign/index.html
@@ -56,7 +56,7 @@ ctx.textAlign = 'left';
ctx.strokeText('Hello world', 0, 100);
</pre>
-<p>Отредактируйте приведенный ниже код и посмотрите, как обновляется ваше обновление на холсте:</p>
+<p>Отредактируйте приведённый ниже код и посмотрите, как обновляется ваше обновление на холсте:</p>
<div class="hidden">
<h6 id="Playable_code" name="Playable_code">Playable code</h6>
diff --git a/files/ru/web/api/cdatasection/index.html b/files/ru/web/api/cdatasection/index.html
index e660a2c42a..ab6f0be9d9 100644
--- a/files/ru/web/api/cdatasection/index.html
+++ b/files/ru/web/api/cdatasection/index.html
@@ -17,7 +17,7 @@ translation_of: Web/API/CDATASection
<pre class="brush:xml">&lt;foo&gt;Here is a CDATA section: &lt;![CDATA[ &lt; &gt; &amp; ]]&gt; with all kinds of unescaped text. &lt;/foo&gt;
</pre>
-<p>Единственная последовательность (символов), не разрешенная внутри раздела CDATA -  это сами символы закрытия раздела CDATA:</p>
+<p>Единственная последовательность (символов), не разрешённая внутри раздела CDATA -  это сами символы закрытия раздела CDATA:</p>
<pre class="brush:xml">&lt;![CDATA[ ]]&gt; will cause an error ]]&gt;
</pre>
diff --git a/files/ru/web/api/characterdata/index.html b/files/ru/web/api/characterdata/index.html
index 5c6d15ecdd..ccdd1d16b5 100644
--- a/files/ru/web/api/characterdata/index.html
+++ b/files/ru/web/api/characterdata/index.html
@@ -30,7 +30,7 @@ translation_of: Web/API/CharacterData
<dl>
<dt>{{domxref("CharacterData.appendData()")}}</dt>
- <dd>Добавляет указанную {{domxref("DOMString")}} к строке <code>CharacterData.data</code>; после выполнения данного метода, <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">данные содержат</span></font> объединенный(элемент) {{domxref("DOMString")}}.</dd>
+ <dd>Добавляет указанную {{domxref("DOMString")}} к строке <code>CharacterData.data</code>; после выполнения данного метода, <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">данные содержат</span></font> объединённый(элемент) {{domxref("DOMString")}}.</dd>
<dt>{{domxref("CharacterData.deleteData()")}}</dt>
<dd>Удаляет указанное количество символов, начиная с указанного отступа, из строки <code>CharacterData.data</code>; после выполнения метода, данные(<code>data)</code> содержат урезанный {{domxref("DOMString")}}.</dd>
<dt>{{domxref("CharacterData.insertData()")}}</dt>
diff --git a/files/ru/web/api/childnode/index.html b/files/ru/web/api/childnode/index.html
index 0d1ebf46ec..f2367222f7 100644
--- a/files/ru/web/api/childnode/index.html
+++ b/files/ru/web/api/childnode/index.html
@@ -47,7 +47,7 @@ translation_of: Web/API/ChildNode
<tr>
<td>{{SpecName('DOM WHATWG', '#interface-childnode', 'ChildNode')}}</td>
<td>{{Spec2('DOM WHATWG')}}</td>
- <td>Интерфейс <code>ElementTraversal</code>  разделен на {{domxref("ParentNode")}} и <code>ChildNode</code>. Свойства <code>previousElementSibling</code> и <code>nextElementSibling</code> теперь определены в последнем.<br>
+ <td>Интерфейс <code>ElementTraversal</code>  разделён на {{domxref("ParentNode")}} и <code>ChildNode</code>. Свойства <code>previousElementSibling</code> и <code>nextElementSibling</code> теперь определены в последнем.<br>
The {{domxref("CharacterData")}} and {{domxref("DocumentType")}} implemented the new interfaces.<br>
Добавлены методы <code>remove()</code>, <code>before()</code>, <code>after()</code> и <code>replaceWith()</code>.</td>
</tr>
diff --git a/files/ru/web/api/childnode/remove/index.html b/files/ru/web/api/childnode/remove/index.html
index 5c4528f98e..786b178e24 100644
--- a/files/ru/web/api/childnode/remove/index.html
+++ b/files/ru/web/api/childnode/remove/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/ChildNode/remove
<p> </p>
-<p>То, что элемент удален из DOM, еще не значит, что он удален совсем! </p>
+<p>То, что элемент удалён из DOM, ещё не значит, что он удалён совсем! </p>
<p>Он остался объектом и исчезнет только тогда, когда исчезнут все ссылки на него.</p>
@@ -34,7 +34,7 @@ translation_of: Web/API/ChildNode/remove
<pre class="brush: js">var elem = document.querySelector("#one");
elem.remove();
alert(document.querySelector("#box").innerHTML); //Исчез блок #one
-alert(elem); //Но как видите, сам объект еще жив</pre>
+alert(elem); //Но как видите, сам объект ещё жив</pre>
<h2 id="Полифил">Полифил</h2>
diff --git a/files/ru/web/api/clients/index.html b/files/ru/web/api/clients/index.html
index 5372df8139..9d0ad8fdec 100644
--- a/files/ru/web/api/clients/index.html
+++ b/files/ru/web/api/clients/index.html
@@ -39,7 +39,7 @@ translation_of: Web/API/Clients
for (i = 0 ; i &lt; clients.length ; i++) {
if (clients[i] === 'index.html') {
clients.openWindow(clients[i]);
- // или сделать что-то другое, с учетом подошедшего клиента
+ // или сделать что-то другое, с учётом подошедшего клиента
}
}
});</pre>
diff --git a/files/ru/web/api/clients/openwindow/index.html b/files/ru/web/api/clients/openwindow/index.html
index 64d67ce7ca..78e5412005 100644
--- a/files/ru/web/api/clients/openwindow/index.html
+++ b/files/ru/web/api/clients/openwindow/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/Clients/openWindow
---
<div>{{APIRef("Service Workers API")}}</div>
-<p>Метод <strong><code>openWindow()</code></strong> интерфейса {{domxref("Clients")}} создает новый контекст просмотра верхнего уровня и загружает заданный URL. Если вызывающий скрипт не имеет разрешения на отображение всплывающих окон, <code>openWindow()</code> выдаст <code>InvalidAccessError</code>.</p>
+<p>Метод <strong><code>openWindow()</code></strong> интерфейса {{domxref("Clients")}} создаёт новый контекст просмотра верхнего уровня и загружает заданный URL. Если вызывающий скрипт не имеет разрешения на отображение всплывающих окон, <code>openWindow()</code> выдаст <code>InvalidAccessError</code>.</p>
<p>В Firefox этому методу разрешено отображать всплывающие окна только при вызове события клике по уведомлению.</p>
@@ -59,7 +59,7 @@ self.addEventListener('notificationclick', e =&gt; {
e.waitUntil(clients.matchAll({ type: 'window' }).then(clientsArr =&gt; {
// Если вкладка, соответствующая целевому URL-адресу, уже существует, сфокусируйтесь на ней;
const hadWindowToFocus = clientsArr.some(windowClient =&gt; windowClient.url === e.notification.data.url ? (windowClient.focus(), true) : false);
- // В противном случае откройте новую вкладку для соответствующего URL-адреса и сфокусируйте ее.
+ // В противном случае откройте новую вкладку для соответствующего URL-адреса и сфокусируйте её.
if (!hadWindowToFocus) clients.openWindow(e.notification.data.url).then(windowClient =&gt; windowClient ? windowClient.focus() : null);
}));
});
diff --git a/files/ru/web/api/clipboardevent/index.html b/files/ru/web/api/clipboardevent/index.html
index 6078feb5c0..792f097015 100644
--- a/files/ru/web/api/clipboardevent/index.html
+++ b/files/ru/web/api/clipboardevent/index.html
@@ -27,7 +27,7 @@ translation_of: Web/API/ClipboardEvent
<dl>
<dt>{{domxref("ClipboardEvent.ClipboardEvent", "ClipboardEvent()")}}</dt>
- <dd>Создает <code>ClipboardEvent</code> событие с переданными параметрами.</dd>
+ <dd>Создаёт <code>ClipboardEvent</code> событие с переданными параметрами.</dd>
</dl>
<h2 id="Методы">Методы</h2>
diff --git a/files/ru/web/api/comment/index.html b/files/ru/web/api/comment/index.html
index 1f5be83365..d262ab9a04 100644
--- a/files/ru/web/api/comment/index.html
+++ b/files/ru/web/api/comment/index.html
@@ -5,7 +5,7 @@ tags:
- Комментарии
translation_of: Web/API/Comment
---
-<p>Интерфейс<span class="seoSummary"> <code><strong>Comment</strong></code> представляет собой текстовые записи в разметке; хотя, в основном, они не отображаются, такие комментарии доступны для чтения в исходном коде.</span> Комментарии  представляются в  HTML и XML как контент, заключенный между  '<code>&lt;!--</code>' и '<code>--&gt;</code>'. В XML, последовательность символов '<code>--</code>' может не использоваться в комментариях.</p>
+<p>Интерфейс<span class="seoSummary"> <code><strong>Comment</strong></code> представляет собой текстовые записи в разметке; хотя, в основном, они не отображаются, такие комментарии доступны для чтения в исходном коде.</span> Комментарии  представляются в  HTML и XML как контент, заключённый между  '<code>&lt;!--</code>' и '<code>--&gt;</code>'. В XML, последовательность символов '<code>--</code>' может не использоваться в комментариях.</p>
<p>{{InheritanceDiagram}}</p>
diff --git a/files/ru/web/api/console/count/index.html b/files/ru/web/api/console/count/index.html
index 32304c274f..500fec756d 100644
--- a/files/ru/web/api/console/count/index.html
+++ b/files/ru/web/api/console/count/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Console/count
<p>{{AvailableInWorkers}}</p>
-<p>Если <code>label</code> передается в функцию, то она выводит число вызовов функции <code>count()</code> с такой же точно <code>label</code>.</p>
+<p>Если <code>label</code> передаётся в функцию, то она выводит число вызовов функции <code>count()</code> с такой же точно <code>label</code>.</p>
<p>Если <code>label</code> опущена, то функция выводит такое число, сколько раз была вызвана функция <code>count()</code> в этой отдельной строке.</p>
@@ -64,7 +64,7 @@ console.count("alice");</pre>
"alice: 2"
"alice: 3"</pre>
-<p>Таким образом мы сохранили различные счетчики основываясь только на значении <code>label</code>. Поскольку строка  "alice"  в строке 11 совпала со значением <code>user</code> дважды, это не сочлось отдельным событием.</p>
+<p>Таким образом мы сохранили различные счётчики основываясь только на значении <code>label</code>. Поскольку строка  "alice"  в строке 11 совпала со значением <code>user</code> дважды, это не сочлось отдельным событием.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -75,7 +75,7 @@ console.count("alice");</pre>
<dl>
<dt><code>label</code></dt>
- <dd>Строка. Если она передается, <code>count()</code> выводит такое число, которое соответствует количеству  раз вызова данной функции с таким же точно <code>label</code>.</dd>
+ <dd>Строка. Если она передаётся, <code>count()</code> выводит такое число, которое соответствует количеству  раз вызова данной функции с таким же точно <code>label</code>.</dd>
</dl>
<h2 id="Specifications">Specifications</h2>
diff --git a/files/ru/web/api/console/countreset/index.html b/files/ru/web/api/console/countreset/index.html
index 3725be4d9d..41c80c15a5 100644
--- a/files/ru/web/api/console/countreset/index.html
+++ b/files/ru/web/api/console/countreset/index.html
@@ -5,13 +5,13 @@ translation_of: Web/API/Console/countReset
---
<div>{{APIRef("Console API")}}</div>
-<p>Сбрасывает значение счетчика. Эта функция также принимает необязательный аргумент <code>label</code>.</p>
+<p>Сбрасывает значение счётчика. Эта функция также принимает необязательный аргумент <code>label</code>.</p>
<p>{{AvailableInWorkers}}</p>
-<p>Если аргумент <code>label</code> передан, то функция сбросит счетчик связанный с этим аргументом.</p>
+<p>Если аргумент <code>label</code> передан, то функция сбросит счётчик связанный с этим аргументом.</p>
-<p>Если значение <code>label</code> опущено, то функция сбросит счетчик, заданий по умолчанию.</p>
+<p>Если значение <code>label</code> опущено, то функция сбросит счётчик, заданий по умолчанию.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -23,8 +23,8 @@ translation_of: Web/API/Console/countReset
<dl>
<dt><code>label</code></dt>
<dd>Строка.<br>
- Если аргумент label был передан, <code>countReset()</code> сбросит к 0 счетчик для этого label.<br>
- Если нет, <code>count()</code> сбросит к 0 счетчик, заданий по умолчанию.</dd>
+ Если аргумент label был передан, <code>countReset()</code> сбросит к 0 счётчик для этого label.<br>
+ Если нет, <code>count()</code> сбросит к 0 счётчик, заданий по умолчанию.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
@@ -33,17 +33,17 @@ translation_of: Web/API/Console/countReset
<pre> <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body">counter-name: 0</span></span></span></pre>
-<p>Если аргумент label не был определен:</p>
+<p>Если аргумент label не был определён:</p>
<pre><span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body">default: 0</span></span></span></pre>
<h3 id="Исключения">Исключения</h3>
-<p>Если аргумент <code>label</code> был передан, но такого счетчика не существует <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><code>countReset</code> вернет предупреждение:</span></span></span></p>
+<p>Если аргумент <code>label</code> был передан, но такого счётчика не существует <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><code>countReset</code> вернёт предупреждение:</span></span></span></p>
<pre><span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><code>Counter "counter-name" doesn’t exist.</code></span></span></span></pre>
-<p>Если аргумент <code>label</code> не был передан и <code>count()</code> не был вызван ранее, <code>countReset</code> <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body">вернет предупреждение</span></span></span>:</p>
+<p>Если аргумент <code>label</code> не был передан и <code>count()</code> не был вызван ранее, <code>countReset</code> <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body">вернёт предупреждение</span></span></span>:</p>
<pre><span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><code>Counter "default" doesn’t exist.</code></span></span></span></pre>
@@ -75,7 +75,7 @@ console.countReset();</pre>
"default: 0"
</pre>
-<p>Заметьте, что вызов console.counterReset() сбросил до 0 значение счетчика заданного по умолчанию.</p>
+<p>Заметьте, что вызов console.counterReset() сбросил до 0 значение счётчика заданного по умолчанию.</p>
<p>Если мы присвоим переменную <code>user</code> как аргумент <code>label</code> при первом вызове <code>count()</code>, и строку "alice" при втором:</p>
@@ -102,7 +102,7 @@ console.count("alice");</pre>
"bob: 0"
"alice: 3"</pre>
-<p>Сброс счетчика "bob" изменил значение только этого счетчика. Значение счетчика "alice" осталось неизменно.</p>
+<p>Сброс счётчика "bob" изменил значение только этого счётчика. Значение счётчика "alice" осталось неизменно.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/console/group/index.html b/files/ru/web/api/console/group/index.html
index 91817d2671..aab129926f 100644
--- a/files/ru/web/api/console/group/index.html
+++ b/files/ru/web/api/console/group/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Console/group
---
<div>{{APIRef("Console API")}}</div>
-<div>Создает новую группу сообщений в <a href="/en-US/docs/Tools/Web_Console">веб-консоли</a>. После вызова последующие сообщения, выводимые в консоль, будут иметь дополнительный уровень отступа, до тех пор пока не будет вызван метод {{domxref("console.groupEnd()")}}.</div>
+<div>Создаёт новую группу сообщений в <a href="/en-US/docs/Tools/Web_Console">веб-консоли</a>. После вызова последующие сообщения, выводимые в консоль, будут иметь дополнительный уровень отступа, до тех пор пока не будет вызван метод {{domxref("console.groupEnd()")}}.</div>
<p>{{AvailableInWorkers}}</p>
@@ -23,9 +23,9 @@ translation_of: Web/API/Console/group
<p>{{h3_gecko_minversion("Использование в веб-консоли", "9.0")}}</p>
-<p>Использование групп помогает упорядочить вывод в консоль благодаря визуальной группировке связанных сообщений. Чтобы начать новый блок нужно вызвать <code>console.group()</code>. Метод <code>console.groupCollapsed()</code> работает аналогичным образом, но выведенная группа будет свернута до тех пор, пока не будет развернута по клику.</p>
+<p>Использование групп помогает упорядочить вывод в консоль благодаря визуальной группировке связанных сообщений. Чтобы начать новый блок нужно вызвать <code>console.group()</code>. Метод <code>console.groupCollapsed()</code> работает аналогичным образом, но выведенная группа будет свёрнута до тех пор, пока не будет развёрнута по клику.</p>
-<p><strong>Примечание:</strong>  Начиная с 9 по 51 версию Gecko, метод <code>groupCollapsed()</code> работал как метод <code>group()</code>. Свернутые группы поддерживаются с версии Gecko 52. См. {{bug("1088360")}}.</p>
+<p><strong>Примечание:</strong>  Начиная с 9 по 51 версию Gecko, метод <code>groupCollapsed()</code> работал как метод <code>group()</code>. Свёрнутые группы поддерживаются с версии Gecko 52. См. {{bug("1088360")}}.</p>
<p>Чтобы прекратить вывод в группу, требуется вызвать <code>console.groupEnd()</code>. К примеру, следующий код:</p>
diff --git a/files/ru/web/api/console/index.html b/files/ru/web/api/console/index.html
index c3fb2b5c03..2ce6130800 100644
--- a/files/ru/web/api/console/index.html
+++ b/files/ru/web/api/console/index.html
@@ -32,12 +32,12 @@ translation_of: Web/API/Console
<dt>{{domxref("Console.clear()")}}</dt>
<dd>Очистка консоли.</dd>
<dt>{{domxref("Console.count()")}}</dt>
- <dd>Выводит количество вызовов метода с определенной меткой (передаётся в параметре метода)</dd>
+ <dd>Выводит количество вызовов метода с определённой меткой (передаётся в параметре метода)</dd>
</dl>
<dl>
<dt>{{domxref("Console.countReset()")}}</dt>
- <dd>Обнуляет значение счетчика с заданным значением.</dd>
+ <dd>Обнуляет значение счётчика с заданным значением.</dd>
</dl>
<dl>
@@ -198,7 +198,7 @@ console.debug("Back to the outer level");
<p>{{h3_gecko_minversion("Timers", "10.0")}}</p>
-<p>Для расчета длительности определённых операций в Gecko 10 введена поддержка таймеров в объекте <code>console</code>. Для запуска таймера вызовите функцию <code>console.time</code><code>(),</code> при этом в качестве параметра передайте название таймера. Для остановки таймера и для получения прошедшего времени в миллисекундах вызовите <code>console.timeEnd()</code>, передав в качестве параметра имя таймера. На странице можно запустить до 10000 таймеров одновременно.</p>
+<p>Для расчёта длительности определённых операций в Gecko 10 введена поддержка таймеров в объекте <code>console</code>. Для запуска таймера вызовите функцию <code>console.time</code><code>(),</code> при этом в качестве параметра передайте название таймера. Для остановки таймера и для получения прошедшего времени в миллисекундах вызовите <code>console.timeEnd()</code>, передав в качестве параметра имя таймера. На странице можно запустить до 10000 таймеров одновременно.</p>
<p>Рассмотрим пример:</p>
diff --git a/files/ru/web/api/console/time/index.html b/files/ru/web/api/console/time/index.html
index bf32c8aff0..fa58e27207 100644
--- a/files/ru/web/api/console/time/index.html
+++ b/files/ru/web/api/console/time/index.html
@@ -49,7 +49,7 @@ translation_of: Web/API/Console/time
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<div class="hidden">Таблица совместимости на этой странице создается на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте этот сайт <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на изменение.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте этот сайт <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на изменение.</div>
<p>{{Compat("api.Console.time")}}</p>
diff --git a/files/ru/web/api/console/timelog/index.html b/files/ru/web/api/console/timelog/index.html
index e7229e836e..cfc1bf6eca 100644
--- a/files/ru/web/api/console/timelog/index.html
+++ b/files/ru/web/api/console/timelog/index.html
@@ -52,7 +52,7 @@ alert("Делаем кучу другой работы...");
console.timeEnd("answer time");
</pre>
-<p>Отчет таймера начинается с момента вызова <code>console.time()</code>. Сначала выводится время от начала отсчета до закрытия первого уведомления. Затем выводится время с начала отсчета до закрытия второго уведомления:</p>
+<p>Отчёт таймера начинается с момента вызова <code>console.time()</code>. Сначала выводится время от начала отсчёта до закрытия первого уведомления. Затем выводится время с начала отсчёта до закрытия второго уведомления:</p>
<p><img alt="timerresult.png" class="default internal" src="https://mdn.mozillademos.org/files/16113/console-timeLog.png" style="border: 1px solid black; height: 102px; margin: 0 auto; width: 318px;"></p>
diff --git a/files/ru/web/api/console/trace/index.html b/files/ru/web/api/console/trace/index.html
index 0d092339d5..6fe5c9b9e0 100644
--- a/files/ru/web/api/console/trace/index.html
+++ b/files/ru/web/api/console/trace/index.html
@@ -28,7 +28,7 @@ translation_of: Web/API/Console/trace
foo();
</pre>
-<p>В консоли следующий трэйс будет отображен так:</p>
+<p>В консоли следующий трэйс будет отображён так:</p>
<pre>bar
foo
diff --git a/files/ru/web/api/credential_management_api/index.html b/files/ru/web/api/credential_management_api/index.html
index ca89368687..671d32cf45 100644
--- a/files/ru/web/api/credential_management_api/index.html
+++ b/files/ru/web/api/credential_management_api/index.html
@@ -13,19 +13,19 @@ translation_of: Web/API/Credential_Management_API
---
<p>{{DefaultAPISidebar("Credential Management API")}}{{ SeeCompatTable() }}</p>
-<p class="summary">The Credential Management API (API управления учетными данными) позволяет веб-сайту хранить и извлекать учетные данные пользователя, федеративного ключа и открытого ключа. Эти возможности позволяют пользователям входить в систему без ввода паролей, видеть федеративную учетную запись, которую они использовали для входа на сайт, и возобновлять сеанс без явного входа в систему с истекшим сроком действия.</p>
+<p class="summary">The Credential Management API (API управления учётными данными) позволяет веб-сайту хранить и извлекать учётные данные пользователя, федеративного ключа и открытого ключа. Эти возможности позволяют пользователям входить в систему без ввода паролей, видеть федеративную учётную запись, которую они использовали для входа на сайт, и возобновлять сеанс без явного входа в систему с истёкшим сроком действия.</p>
-<h2 id="Концепции_и_использование_учетных_данных">Концепции и использование учетных данных</h2>
+<h2 id="Концепции_и_использование_учётных_данных">Концепции и использование учётных данных</h2>
-<p>Этот API позволяет веб-сайтам взаимодействовать с системой паролей пользовательского агента (user agent’s password system), чтобы веб-сайты могли одинаково работать с учетными данными сайта, а пользовательские агенты могли оказывать лучшую поддержку в управлении своими учетными данными. Например, пользовательским агентам особенно трудно иметь дело с федеративными поставщиками удостоверений или эзотерическими механизмами входа (esoteric sign-in), которые используют больше данных, чем просто имя пользователя и пароль. Для решения этих проблем API предоставляет веб-сайту способы хранения и извлечения различных типов учетных данных. Это дает пользователям такие возможности, как просмотр федеративной учетной записи, которую они использовали для входа на сайт, или возобновление сеанса без явного потока входа в систему с истекшим сроком действия.</p>
+<p>Этот API позволяет веб-сайтам взаимодействовать с системой паролей пользовательского агента (user agent’s password system), чтобы веб-сайты могли одинаково работать с учётными данными сайта, а пользовательские агенты могли оказывать лучшую поддержку в управлении своими учётными данными. Например, пользовательским агентам особенно трудно иметь дело с федеративными поставщиками удостоверений или эзотерическими механизмами входа (esoteric sign-in), которые используют больше данных, чем просто имя пользователя и пароль. Для решения этих проблем API предоставляет веб-сайту способы хранения и извлечения различных типов учётных данных. Это даёт пользователям такие возможности, как просмотр федеративной учётной записи, которую они использовали для входа на сайт, или возобновление сеанса без явного потока входа в систему с истёкшим сроком действия.</p>
<div class="note">
<p>Этот API ограничен контекстами верхнего уровня. Вызовы <code>get()</code> и <code>store()</code> внутри элемента <code>&lt;iframe&gt;</code> выполняться без эффекта.</p>
</div>
-<h3 id="Учетные_данные_общие_для_поддомена">Учетные данные, общие для поддомена</h3>
+<h3 id="Учётные_данные_общие_для_поддомена">Учётные данные, общие для поддомена</h3>
-<p>Более поздняя версия спецификации позволяет получать учетные данные из другого поддомена. Например, пароль, хранящийся в <code>login.example.com</code>, может использоваться для входа на <code>www.example.com</code>. Чтобы это использовать, пароль должен быть явно сохранен путем вызова {{domxref("CredentialsContainer.store()")}}. Иногда это называют сопоставлением с общедоступным списком суффиксов (PSL); однако спецификация <em>рекомендует</em> использовать PSL только для определения действующей области учетных данных. Это не обязательно. Следовательно, браузеры могут различаться реализацией API.</p>
+<p>Более поздняя версия спецификации позволяет получать учётные данные из другого поддомена. Например, пароль, хранящийся в <code>login.example.com</code>, может использоваться для входа на <code>www.example.com</code>. Чтобы это использовать, пароль должен быть явно сохранён путём вызова {{domxref("CredentialsContainer.store()")}}. Иногда это называют сопоставлением с общедоступным списком суффиксов (PSL); однако спецификация <em>рекомендует</em> использовать PSL только для определения действующей области учётных данных. Это не обязательно. Следовательно, браузеры могут различаться реализацией API.</p>
<h2 id="Интерфейсы">Интерфейсы</h2>
@@ -33,13 +33,13 @@ translation_of: Web/API/Credential_Management_API
<dt>{{domxref("Credential")}}</dt>
<dd>Предоставляет информацию о сущности в качестве предварительного условия для принятия решения о доверии.</dd>
<dt>{{domxref("CredentialsContainer")}}</dt>
- <dd>Предоставляет методы для запроса учетных данных и уведомления пользовательского агента, когда происходят события, например успешный вход или выход. Этот интерфейс доступен в <code>navigator.credentials</code>.</dd>
+ <dd>Предоставляет методы для запроса учётных данных и уведомления пользовательского агента, когда происходят события, например успешный вход или выход. Этот интерфейс доступен в <code>navigator.credentials</code>.</dd>
<dt>{{domxref("FederatedCredential")}}</dt>
- <dd>Предоставляет информацию об учетных данных от федеративного поставщика идентификации (объект), которому веб-сайт доверяет для правильной аутентификации пользователя и который предоставляет API для этой цели. <a href="http://openid.net/developers/specs/">OpenID Connect</a> является примером такой структуры.</dd>
+ <dd>Предоставляет информацию об учётных данных от федеративного поставщика идентификации (объект), которому веб-сайт доверяет для правильной аутентификации пользователя и который предоставляет API для этой цели. <a href="http://openid.net/developers/specs/">OpenID Connect</a> является примером такой структуры.</dd>
<dt>{{domxref("PasswordCredential")}}</dt>
<dd>Предоставляет информацию о паре имени пользователя и пароля.</dd>
<dt>{{domxref("PublicKeyCredential")}}</dt>
- <dd>Предоставляет учетные данные для входа в систему с использованием пары асимметричных ключей, устойчивых к фишингу и защите от взлома данных, вместо пароля.</dd>
+ <dd>Предоставляет учётные данные для входа в систему с использованием пары асимметричных ключей, устойчивых к фишингу и защите от взлома данных, вместо пароля.</dd>
</dl>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/css_object_model/index.html b/files/ru/web/api/css_object_model/index.html
index c9d2a9c8d6..6d2bebe453 100644
--- a/files/ru/web/api/css_object_model/index.html
+++ b/files/ru/web/api/css_object_model/index.html
@@ -199,7 +199,7 @@ translation_of: Web/API/CSS_Object_Model
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p>Все эти функции постепенно добавлялись в разные браузеры постепенно: это был довольно сложный процесс, который не может быть сведен в простую таблицу. Пожалуйста, обратитесь к конкретным интерфейсам для его доступности.</p>
+<p>Все эти функции постепенно добавлялись в разные браузеры постепенно: это был довольно сложный процесс, который не может быть сведён в простую таблицу. Пожалуйста, обратитесь к конкретным интерфейсам для его доступности.</p>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/css_object_model/managing_screen_orientation/index.html b/files/ru/web/api/css_object_model/managing_screen_orientation/index.html
index 72ded83a4c..9fcf3ecf06 100644
--- a/files/ru/web/api/css_object_model/managing_screen_orientation/index.html
+++ b/files/ru/web/api/css_object_model/managing_screen_orientation/index.html
@@ -11,7 +11,7 @@ original_slug: Web/API/CSS_Object_Model/ориентация_экрана
<p>{{DefaultAPISidebar("Screen Orientation API")}}{{SeeCompatTable}}</p>
<p>Ориентация экрана не идентична <a href="/en-US/docs/WebAPI/Detecting_device_orientation">ориентации устройства</a>.
-Даже если устройство не способно определить свое положение в пространстве — экран может всегда. А когда устройство знает свою ориентацию, хорошо бы иметь возможность управлять ориентацией экрана для
+Даже если устройство не способно определить своё положение в пространстве — экран может всегда. А когда устройство знает свою ориентацию, хорошо бы иметь возможность управлять ориентацией экрана для
сохранения или адаптации интерфейса веб-приложения.</p>
<p>Управление ориентацией экрана доступно в CSS и JavaScript.
@@ -77,7 +77,7 @@ li {
}
</pre>
-<p>Теперь разберемся с поведением страницы в различных случаях ориентации.</p>
+<p>Теперь разберёмся с поведением страницы в различных случаях ориентации.</p>
<pre class="brush: css notranslate">/* Для портретного режима отправим панель на верхнюю часть области отображения */
@@ -138,7 +138,7 @@ li {
</div>
<p>Некоторые устройства (в основном мобильные) могут изменять ориентацию экрана в соответствии с ориентацией самого устройства для удобства восприятия информации пользователем.
-Это хорошо подходит для текста, но на некоторое содержимое такое поведение может оказать негативное воздействие. Например, это трагичная ситуация для игры, разработанной под определенную ориентацию.</p>
+Это хорошо подходит для текста, но на некоторое содержимое такое поведение может оказать негативное воздействие. Например, это трагичная ситуация для игры, разработанной под определённую ориентацию.</p>
<p>Урегулировать вопрос, связанный с изменением положения экрана, поможет интерфейс Screen Orientation API.</p>
diff --git a/files/ru/web/api/cssrule/index.html b/files/ru/web/api/cssrule/index.html
index 5a88b7c8c2..76b240cde2 100644
--- a/files/ru/web/api/cssrule/index.html
+++ b/files/ru/web/api/cssrule/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/CSSRule
<p>Интерфейс <strong>CSSRule </strong>представляет собой одно правило CSS. Есть несколько типов правил, перечисленных в разделе {{anch("Type constants")}} ниже.</p>
-<p>Интерфейс CSSRule определяет общие свойства для всех правил, в то время как свойства характерные только для определенных типов правил указаны в более специализированных интерфейсах для соответствующих типов этих правил.</p>
+<p>Интерфейс CSSRule определяет общие свойства для всех правил, в то время как свойства характерные только для определённых типов правил указаны в более специализированных интерфейсах для соответствующих типов этих правил.</p>
<p>Ссылки на CSSRule вы можете получить на странице {{domxref ("CSSStyleSheet")}} список cssRules.</p>
diff --git a/files/ru/web/api/cssstyledeclaration/index.html b/files/ru/web/api/cssstyledeclaration/index.html
index 78e34cc76f..adee955447 100644
--- a/files/ru/web/api/cssstyledeclaration/index.html
+++ b/files/ru/web/api/cssstyledeclaration/index.html
@@ -16,7 +16,7 @@ translation_of: Web/API/CSSStyleDeclaration
<p>Интерфейс <strong><code>CSSStyleDeclaration</code></strong> представляет объект, являющийся блоком объявления CSS, и предоставляет информацию о стиле и различные связанные со стилем методы и свойства.</p>
-<p>Объект <code>CSSStyleDeclaration</code> может быть представлен с помощью трех различных API:</p>
+<p>Объект <code>CSSStyleDeclaration</code> может быть представлен с помощью трёх различных API:</p>
<ul>
<li>Через {{domxref ("HTMLElement.style")}}, который имеет дело с встроенными стилями одного элемента (например, &lt;div style="..."&gt;).</li>
@@ -47,9 +47,9 @@ translation_of: Web/API/CSSStyleDeclaration
<dt>{{domxref("CSSStyleDeclaration.removeProperty()")}}</dt>
<dd>Удаляет свойство из блока объявления CSS.</dd>
<dt>{{domxref("CSSStyleDeclaration.setProperty()")}}</dt>
- <dd>Изменяет существующее свойство CSS или создает новое свойство CSS в блоке объявления.</dd>
+ <dd>Изменяет существующее свойство CSS или создаёт новое свойство CSS в блоке объявления.</dd>
<dt>{{domxref("CSSStyleDeclaration.getPropertyCSSValue()")}} {{obsolete_inline}}</dt>
- <dd>Поддерживается только через getComputedStyle в Firefox. Возвращает значение свойства в виде {{ domxref ("CSSPrimitiveValue")}} или <code>null</code> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties">для сокращенных свойств.</a></dd>
+ <dd>Поддерживается только через getComputedStyle в Firefox. Возвращает значение свойства в виде {{ domxref ("CSSPrimitiveValue")}} или <code>null</code> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties">для сокращённых свойств.</a></dd>
</dl>
<h2 id="Example" name="Example">Пример</h2>
diff --git a/files/ru/web/api/datatransfer/index.html b/files/ru/web/api/datatransfer/index.html
index e5e07105d6..6c7fb043e9 100644
--- a/files/ru/web/api/datatransfer/index.html
+++ b/files/ru/web/api/datatransfer/index.html
@@ -103,9 +103,9 @@ translation_of: Web/API/DataTransfer
<p>Возможные значения:</p>
<ul>
- <li><strong>copy</strong>: в новом расположении создается копия исходного элемента.</li>
+ <li><strong>copy</strong>: в новом расположении создаётся копия исходного элемента.</li>
<li><strong>move</strong>: элемент перемещается в новое расположение.</li>
- <li><strong>link</strong>: в новом расположении создается ссылка на исходный элемент.</li>
+ <li><strong>link</strong>: в новом расположении создаётся ссылка на исходный элемент.</li>
<li><strong>none</strong>: элемент не может быть брошен.</li>
</ul>
@@ -119,7 +119,7 @@ translation_of: Web/API/DataTransfer
<ul>
<li><strong>copy</strong>: Копия ресурса может быть сделана в новом месте.</li>
- <li><strong>move</strong>: Элемент может быть перемещен в новое место. </li>
+ <li><strong>move</strong>: Элемент может быть перемещён в новое место. </li>
<li><strong>link</strong>: A link may be established to the source at the new location.</li>
<li><strong>copyLink</strong>: A copy or link operation is permitted.</li>
<li><strong>copyMove</strong>: A copy or move operation is permitted.</li>
@@ -260,7 +260,7 @@ translation_of: Web/API/DataTransfer
<h3 id="setDragImage.28.29" name="setDragImage.28.29">setDragImage()</h3>
-<p>Устанавливает изображение, которое будет использоваться для перетаскивания если нужно. В большинстве случаев это не будет установлено, так как изображение по умолчанию создается из перетаскиваемого узла.</p>
+<p>Устанавливает изображение, которое будет использоваться для перетаскивания если нужно. В большинстве случаев это не будет установлено, так как изображение по умолчанию создаётся из перетаскиваемого узла.</p>
<p>Если узел является HTML-элементом img, HTML-элементом canvas или XUL-элементом изображения, тогда используются данные изображения. В противном случае изображение должно быть видимым узлом, и из этого будет создано перетаскиваемое изображение. Если изображение равно null, любое пользовательское изображение перетаскиваемое очищается и вместо него используется значение по умолчанию.</p>
diff --git a/files/ru/web/api/document/activeelement/index.html b/files/ru/web/api/document/activeelement/index.html
index c4ff0f1248..b0a464ecf6 100644
--- a/files/ru/web/api/document/activeelement/index.html
+++ b/files/ru/web/api/document/activeelement/index.html
@@ -83,7 +83,7 @@ ID активного элемента: &lt;span id="output-element"&gt;&lt;/spa
<h2 id="Примечания">Примечания</h2>
-<p>Первоначально введенное как собственное расширение DOM в Internet Explorer 4, это свойство также поддерживается в Opera и Safari (в версии 4).</p>
+<p>Первоначально введённое как собственное расширение DOM в Internet Explorer 4, это свойство также поддерживается в Opera и Safari (в версии 4).</p>
<h2 id="Specification" name="Specification">Спецификации</h2>
diff --git a/files/ru/web/api/document/alinkcolor/index.html b/files/ru/web/api/document/alinkcolor/index.html
index 302476d213..d010383f8e 100644
--- a/files/ru/web/api/document/alinkcolor/index.html
+++ b/files/ru/web/api/document/alinkcolor/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Document/alinkColor
---
<p>{{APIRef("DOM")}} {{ Deprecated_header() }}</p>
-<p>Возвращает или задает цвет активной ссылки в теле документа. Ссылка активна в течение времени между событиями mousedown и mouseup.</p>
+<p>Возвращает или задаёт цвет активной ссылки в теле документа. Ссылка активна в течение времени между событиями mousedown и mouseup.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/document/cookie/index.html b/files/ru/web/api/document/cookie/index.html
index 286bb779f8..94facee7e6 100644
--- a/files/ru/web/api/document/cookie/index.html
+++ b/files/ru/web/api/document/cookie/index.html
@@ -25,7 +25,7 @@ translation_of: Web/API/Document/cookie
<pre class="syntaxbox notranslate" id="new-cookie_syntax"><em>document</em>.cookie = <em>newCookie</em>;</pre>
-<p>В приведенном коде <code>newCookie</code> - строка в виде <code><em>key</em>=<em>value</em></code><em>. </em>Заметьте, у вас есть возможность установить/обновить лишь одну связку <code><em>key</em>=<em>value</em></code> за один раз, используя этот метод.  Стоит отметить, что:</p>
+<p>В приведённом коде <code>newCookie</code> - строка в виде <code><em>key</em>=<em>value</em></code><em>. </em>Заметьте, у вас есть возможность установить/обновить лишь одну связку <code><em>key</em>=<em>value</em></code> за один раз, используя этот метод.  Стоит отметить, что:</p>
<ul>
<li>Any of the following cookie attribute values can optionally follow the key-value pair, specifying the cookie to set/update, and preceded by a semi-colon separator:
@@ -155,7 +155,7 @@ if (document.cookie.split(';').filter((item) =&gt; item.trim().startsWith('reade
console.log('The cookie "reader" exists (ES6)')
}</code></pre>
-<h3 id="Example_6_Проверить_что_cookie_имеет_определенное_значение">Example #6: Проверить, что cookie имеет определенное значение</h3>
+<h3 id="Example_6_Проверить_что_cookie_имеет_определённое_значение">Example #6: Проверить, что cookie имеет определённое значение</h3>
<pre class="notranslate"><code>//ES5
diff --git a/files/ru/web/api/document/createattribute/index.html b/files/ru/web/api/document/createattribute/index.html
index 97cbba7120..ff43048513 100644
--- a/files/ru/web/api/document/createattribute/index.html
+++ b/files/ru/web/api/document/createattribute/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Document/createAttribute
---
<div>{{ ApiRef("DOM") }}</div>
-<p>Метод <code><strong>Document.createAttribute()</strong></code> создает новый атрибут узла и возвращает его.  Созданный объект узла реализует {{domxref("Attr")}} интерфейс . <span style='background-color: #f5f5f5; color: #333333; display: inline !important; float: none; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal;'>DOM не указывает, какие атрибуты могут быть добавлены к определенному элементу таким способом.</span></p>
+<p>Метод <code><strong>Document.createAttribute()</strong></code> создаёт новый атрибут узла и возвращает его.  Созданный объект узла реализует {{domxref("Attr")}} интерфейс . <span style='background-color: #f5f5f5; color: #333333; display: inline !important; float: none; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal;'>DOM не указывает, какие атрибуты могут быть добавлены к определённому элементу таким способом.</span></p>
<div class="note">
<p>Строка, заданная в параметре, преобразуется в нижний регистр.</p>
diff --git a/files/ru/web/api/document/createdocumentfragment/index.html b/files/ru/web/api/document/createdocumentfragment/index.html
index adc966e765..f266afbed6 100644
--- a/files/ru/web/api/document/createdocumentfragment/index.html
+++ b/files/ru/web/api/document/createdocumentfragment/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Document/createDocumentFragment
---
<div>{{ApiRef("DOM")}}</div>
-<p>Создает новый пустой {{domxref("DocumentFragment")}}.</p>
+<p>Создаёт новый пустой {{domxref("DocumentFragment")}}.</p>
<h2 id="Syntax">Syntax</h2>
diff --git a/files/ru/web/api/document/createelement/index.html b/files/ru/web/api/document/createelement/index.html
index 7d2aab5f7a..f56c92272f 100644
--- a/files/ru/web/api/document/createelement/index.html
+++ b/files/ru/web/api/document/createelement/index.html
@@ -11,9 +11,9 @@ original_slug: DOM/document.createElement
<h3 id=".D0.9E.D0.B1.D1.89.D0.B0.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D1.8F" name=".D0.9E.D0.B1.D1.89.D0.B0.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D1.8F">Общая информация</h3>
-<p>В HTML-документах создает элемент c тем тегом, что указан в аргументе или <code>HTMLUnknownElement</code>, если имя тега не распознаётся.</p>
+<p>В HTML-документах создаёт элемент c тем тегом, что указан в аргументе или <code>HTMLUnknownElement</code>, если имя тега не распознаётся.</p>
-<p>В XUL-документах создает указанный в аргументе элемент XUL.</p>
+<p>В XUL-документах создаёт указанный в аргументе элемент XUL.</p>
<p>В остальных случаях создаёт элемент с нулевым <span id="result_box" lang="ru"><span class="hps"><em>NamespaceURI</em>.</span></span></p>
@@ -24,7 +24,7 @@ original_slug: DOM/document.createElement
<ul>
<li><code>element</code> — созданный объект <a href="../Web/API/Element">элемента</a>.</li>
- <li><code>tagName</code> — строка, указывающая элемент какого типа должен быть создан. <a href="ru/DOM/element.nodeName">nodeName</a> создается и инициализируется со значением <code>tagName</code>.</li>
+ <li><code>tagName</code> — строка, указывающая элемент какого типа должен быть создан. <a href="ru/DOM/element.nodeName">nodeName</a> создаётся и инициализируется со значением <code>tagName</code>.</li>
<li>
<p><code>options</code> — необязательный параметр, объект <code>ElementCreationOptions</code>, который может содержать только поле <code>is</code>, указывающее имя пользовательского элемента, созданного с помощью <code>customElements.define()</code> (см. <a href="/ru/docs/Web/Web_Components">Веб-компоненты</a>).</p>
</li>
@@ -32,7 +32,7 @@ original_slug: DOM/document.createElement
<h3 id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B" name=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B">Пример</h3>
-<p>Данный пример создает новый элемент <code>&lt;div&gt;</code> и вставляет его перед элементом с идентификатором <code>org_div1</code>:</p>
+<p>Данный пример создаёт новый элемент <code>&lt;div&gt;</code> и вставляет его перед элементом с идентификатором <code>org_div1</code>:</p>
<pre class="brush: js"><code class="language-html"><span class="doctype token">&lt;!DOCTYPE html&gt;</span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>html</span><span class="punctuation token">&gt;</span></span>
@@ -51,7 +51,7 @@ original_slug: DOM/document.createElement
function addElement() {
- // Создаем новый элемент div
+ // Создаём новый элемент div
// и добавляем в него немного контента
var newDiv = document.createElement("div");
@@ -70,7 +70,7 @@ original_slug: DOM/document.createElement
<p>Если существуют атрибуты со значениями по умолчанию, атрибуты узлов предоставляющие их создаются автоматически и применяются к элементу.</p>
-<p>Для создания элементов с заданным пространством имен используйте метод <a href="ru/DOM/document.createElementNS">createElementNS</a>.</p>
+<p>Для создания элементов с заданным пространством имён используйте метод <a href="ru/DOM/document.createElementNS">createElementNS</a>.</p>
<p>Реализация <code>createElement </code>в Gecko не соответствует DOM спецификации для XUL и XHTML документов: <code>localName</code> и <code>namespaceURI</code> не устанавливаются в  <code>null</code> в созданном документе. Смотрите {{ Bug(280692) }} для подробностей.</p>
diff --git a/files/ru/web/api/document/createtextnode/index.html b/files/ru/web/api/document/createtextnode/index.html
index a076f8316f..7007e89080 100644
--- a/files/ru/web/api/document/createtextnode/index.html
+++ b/files/ru/web/api/document/createtextnode/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Document/createTextNode
---
<div>{{APIRef("DOM")}}</div>
-<p>Создает новый текстовый узел.</p>
+<p>Создаёт новый текстовый узел.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/document/document/index.html b/files/ru/web/api/document/document/index.html
index 7dee15e364..0ba1862ff7 100644
--- a/files/ru/web/api/document/document/index.html
+++ b/files/ru/web/api/document/document/index.html
@@ -10,7 +10,7 @@ translation_of: Web/API/Document/Document
---
<p>{{APIRef}}{{Non-standard_header}}</p>
-<p><strong><code>Document</code></strong> конструктор создает новый {{domxref("Document")}} объект, который является веб-страницей, загруженной в браузере  и служит точкой входа в содержание страницы.</p>
+<p><strong><code>Document</code></strong> конструктор создаёт новый {{domxref("Document")}} объект, который является веб-страницей, загруженной в браузере  и служит точкой входа в содержание страницы.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/document/execcommand/index.html b/files/ru/web/api/document/execcommand/index.html
index 9400bb025f..0c52c9a3b7 100644
--- a/files/ru/web/api/document/execcommand/index.html
+++ b/files/ru/web/api/document/execcommand/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/Document/execCommand
<div>
<h2 id="Summary" name="Summary">Обзор</h2>
-<p>Когда HTML документ переключен в режим редактирования ({{domxref("document.designMode")}}), для него будет доступен метод <code>execCommand</code>, который предоставляет команды для работы с контентом в редактируемой области. Большинство команд влияют на выделение (bold, italics, и т. п.), другие вставляют новые элементы (createLink) или влияют на всю строку (<span style="font-family: segoe ui;">indenting</span>). При использовании <code>contentEditable</code>, вызов <code>execCommand</code> влияет на активный редактируемый элемент.</p>
+<p>Когда HTML документ переключён в режим редактирования ({{domxref("document.designMode")}}), для него будет доступен метод <code>execCommand</code>, который предоставляет команды для работы с контентом в редактируемой области. Большинство команд влияют на выделение (bold, italics, и т. п.), другие вставляют новые элементы (createLink) или влияют на всю строку (<span style="font-family: segoe ui;">indenting</span>). При использовании <code>contentEditable</code>, вызов <code>execCommand</code> влияет на активный редактируемый элемент.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -65,7 +65,7 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>createLink</dt>
- <dd>Создает ссылку из выделения, если таковое имеется. Необходима передача HREF URI в качестве аргумента. URI должен содержать как минимум один символ, допускается пробельный. (Internet Explorer создаст ссылку и без URI.)</dd>
+ <dd>Создаёт ссылку из выделения, если таковое имеется. Необходима передача HREF URI в качестве аргумента. URI должен содержать как минимум один символ, допускается пробельный. (Internet Explorer создаст ссылку и без URI.)</dd>
</dl>
<dl>
@@ -110,7 +110,7 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>formatBlock</dt>
- <dd>Добавляет тег HTML-блока вокруг строк, содержащих в себе выделенный текст, заменяя блочный элемент, содержащий такие строки, если он существует (в Firefox, BLOCKQUOTE  является исключением - он обернет любой блочный элемент). Требует передачи в качестве аргумента наименования Тега. Теоретически может использоваться любой блочный тег (напр., "H1", "P", "DL", "BLOCKQUOTE"). (Internet Explorer поддерживает только теги заголовков H1 - H6, ADDRESS и PRE, которые должны также быть заключены в символы &lt; &gt;, как например: "&lt;H1&gt;".)</dd>
+ <dd>Добавляет тег HTML-блока вокруг строк, содержащих в себе выделенный текст, заменяя блочный элемент, содержащий такие строки, если он существует (в Firefox, BLOCKQUOTE  является исключением - он обернёт любой блочный элемент). Требует передачи в качестве аргумента наименования Тега. Теоретически может использоваться любой блочный тег (напр., "H1", "P", "DL", "BLOCKQUOTE"). (Internet Explorer поддерживает только теги заголовков H1 - H6, ADDRESS и PRE, которые должны также быть заключены в символы &lt; &gt;, как например: "&lt;H1&gt;".)</dd>
</dl>
<dl>
@@ -123,7 +123,7 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>hiliteColor</dt>
- <dd>Изменяет цвет фона для выделенного текста либо в месте, где установлен курсор. Требует передачи цвета в качестве аргумента. UseCSS должен быть включен для работы этой функции. (Не поддерживается в Internet Explorer)</dd>
+ <dd>Изменяет цвет фона для выделенного текста либо в месте, где установлен курсор. Требует передачи цвета в качестве аргумента. UseCSS должен быть включён для работы этой функции. (Не поддерживается в Internet Explorer)</dd>
</dl>
<dl>
@@ -158,19 +158,19 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>insertOrderedList</dt>
- <dd>Создает пронумерованный список из выбранного или на месте курсора.</dd>
+ <dd>Создаёт пронумерованный список из выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>insertUnorderedList</dt>
- <dd>Создает список из выбранного или на месте курсора.</dd>
+ <dd>Создаёт список из выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>insertParagraph</dt>
<dd>Вставляет параграф вокруг выделения или для текущей строки. (Internet Explorer вставляет параграф в месте курсора и удаляет выделенный текст)</dd>
<dt>insertText</dt>
- <dd>Вставляет простой текст в месте курсора или выделения (выделенный текст будет заменен).</dd>
+ <dd>Вставляет простой текст в месте курсора или выделения (выделенный текст будет заменён).</dd>
</dl>
<dl>
@@ -205,7 +205,7 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>paste</dt>
- <dd>Вставляет данные из буфера обмена в место курсора или выделения (последнее заменяется). Доступ к буферу обмена должен быть включен в файле user.js</dd>
+ <dd>Вставляет данные из буфера обмена в место курсора или выделения (последнее заменяется). Доступ к буферу обмена должен быть включён в файле user.js</dd>
</dl>
<dl>
@@ -225,7 +225,7 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>strikeThrough</dt>
- <dd>Переключает зачеркивание текста для выделения или на месте курсора.</dd>
+ <dd>Переключает зачёркивание текста для выделения или на месте курсора.</dd>
</dl>
<dl>
@@ -255,7 +255,7 @@ translation_of: Web/API/Document/execCommand
<dl>
<dt>useCSS {{ Deprecated_inline() }}</dt>
- <dd>Переключает режим стилизации HTML и CSS для генерируемой разметки. Может принимать только булевы значения true/false. ПРИМЕЧАНИЕ: этот аргумент с перевернутой логикой (т.е. false = CSS / true = HTML). (Не поддерживается в Internet Explorer.) <strong>Внимание! Эта команда является устаревшей, используйте <em>styleWithCSS.</em></strong></dd>
+ <dd>Переключает режим стилизации HTML и CSS для генерируемой разметки. Может принимать только булевы значения true/false. ПРИМЕЧАНИЕ: этот аргумент с перевёрнутой логикой (т.е. false = CSS / true = HTML). (Не поддерживается в Internet Explorer.) <strong>Внимание! Эта команда является устаревшей, используйте <em>styleWithCSS.</em></strong></dd>
</dl>
<dl>
diff --git a/files/ru/web/api/document/getelementsbyclassname/index.html b/files/ru/web/api/document/getelementsbyclassname/index.html
index d44e341517..4adfa6b971 100644
--- a/files/ru/web/api/document/getelementsbyclassname/index.html
+++ b/files/ru/web/api/document/getelementsbyclassname/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Document/getElementsByClassName
---
<p id="Summary">{{APIRef("DOM")}}</p>
-<p>Возвращает массивоподобный (итерируемый) объект всех дочерних элементов, соответствующих всем из указанных имен классов. В случае вызова по отношению к объекту 'document', поиск происходит по всему документу, включая корневой элемент. Вызывать {{domxref("Element.getElementsByClassName", "getElementsByClassName()")}} можно также применительно к любому элементу: возвращены будут лишь те элементы, которые являются потомками указанного корневого элемента и имеют при этом указанные классы.</p>
+<p>Возвращает массивоподобный (итерируемый) объект всех дочерних элементов, соответствующих всем из указанных имён классов. В случае вызова по отношению к объекту 'document', поиск происходит по всему документу, включая корневой элемент. Вызывать {{domxref("Element.getElementsByClassName", "getElementsByClassName()")}} можно также применительно к любому элементу: возвращены будут лишь те элементы, которые являются потомками указанного корневого элемента и имеют при этом указанные классы.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -14,7 +14,7 @@ translation_of: Web/API/Document/getElementsByClassName
<ul>
<li><var>В "elements"</var> будет текущая  {{ domxref("HTMLCollection") }} найденных элементов.</li>
- <li><var>"names"</var> - строка, состоящая из списка имен искомых классов; имена классов разделяют пробелами.</li>
+ <li><var>"names"</var> - строка, состоящая из списка имён искомых классов; имена классов разделяют пробелами.</li>
<li>getElementsByClassName может быть вызвана по отношению к любому элементу, не только для документа целиком. ("document"). Элемент, по отношению к которому осуществляется вызов, используется для целей поиска в качестве корневого элемента.</li>
</ul>
@@ -32,7 +32,7 @@ translation_of: Web/API/Document/getElementsByClassName
<pre class="brush: js">document.getElementById('main').getElementsByClassName('test');</pre>
-<p>Мы также можем использовать методы из Array.prototype по отношению к любой {{ domxref("HTMLCollection") }}, передавая коллекцию в качестве значения <em>this</em> метода. Код в примере найдет все элементы 'div' с классом 'test':</p>
+<p>Мы также можем использовать методы из Array.prototype по отношению к любой {{ domxref("HTMLCollection") }}, передавая коллекцию в качестве значения <em>this</em> метода. Код в примере найдёт все элементы 'div' с классом 'test':</p>
<pre class="brush: js">var testElements = document.getElementsByClassName('test');
var testDivs = Array.prototype.filter.call(testElements, function(testElement){
@@ -41,7 +41,7 @@ var testDivs = Array.prototype.filter.call(testElements, function(testElement){
<h2 id="Получение_элементов_класса_'test'">Получение элементов класса 'test'</h2>
-<p>Ниже приведен пример наиболее употребительного способа использования данного метода.</p>
+<p>Ниже приведён пример наиболее употребительного способа использования данного метода.</p>
<pre>&lt;!doctype html&gt;
&lt;html&gt;
diff --git a/files/ru/web/api/document/getelementsbytagname/index.html b/files/ru/web/api/document/getelementsbytagname/index.html
index 2829204e72..e737d72165 100644
--- a/files/ru/web/api/document/getelementsbytagname/index.html
+++ b/files/ru/web/api/document/getelementsbytagname/index.html
@@ -19,7 +19,7 @@ translation_of: Web/API/Document/getElementsByTagName
<pre class="syntaxbox">var <var>elements</var> = document.getElementsByTagName(<em>name</em>);</pre>
<ul>
- <li><code>elements</code> это живая {{domxref("HTMLCollection")}} (с учетом примечания внизу) найденных документов в таком порядке в каком они появляются в дереве.</li>
+ <li><code>elements</code> это живая {{domxref("HTMLCollection")}} (с учётом примечания внизу) найденных документов в таком порядке в каком они появляются в дереве.</li>
<li><code>name</code> строка представляющая собой имя элемента. Специальная строка "*" позволяет получить все элементы.</li>
</ul>
diff --git a/files/ru/web/api/document/head/index.html b/files/ru/web/api/document/head/index.html
index 8645de05b4..b10712eb87 100644
--- a/files/ru/web/api/document/head/index.html
+++ b/files/ru/web/api/document/head/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Document/head
---
<p>{{APIRef("DOM")}}</p>
-<p>Возвращает элемент {{HTMLElement("head")}} текущего документа. Если имеется более одного элемента <code>&lt;head&gt;</code>, будет возвращен первый из них.</p>
+<p>Возвращает элемент {{HTMLElement("head")}} текущего документа. Если имеется более одного элемента <code>&lt;head&gt;</code>, будет возвращён первый из них.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/document/importnode/index.html b/files/ru/web/api/document/importnode/index.html
index 4aa38a3763..95efbef96f 100644
--- a/files/ru/web/api/document/importnode/index.html
+++ b/files/ru/web/api/document/importnode/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/Document/importNode
---
<div>{{APIRef("DOM")}}</div>
-<p><span class="seoSummary">Метод <code><strong>importNode()</strong></code>объекта {{domxref("Document")}} создает копию {{domxref("Node")}} или {{domxref("DocumentFragment")}} из другого документа, для последующей вставки в текущий документ.</span></p>
+<p><span class="seoSummary">Метод <code><strong>importNode()</strong></code>объекта {{domxref("Document")}} создаёт копию {{domxref("Node")}} или {{domxref("DocumentFragment")}} из другого документа, для последующей вставки в текущий документ.</span></p>
-<p>Импортированный узел пока еще не включен в дерево документов. Чтобы добавить его, вам необходимо вызвать один из методов вставки, например,  {{domxref("Node.appendChild", "appendChild()")}} или {{domxref("Node.insertBefore", "insertBefore()")}} с узлом, который <em>находится</em> в дереве документов.</p>
+<p>Импортированный узел пока ещё не включён в дерево документов. Чтобы добавить его, вам необходимо вызвать один из методов вставки, например,  {{domxref("Node.appendChild", "appendChild()")}} или {{domxref("Node.insertBefore", "insertBefore()")}} с узлом, который <em>находится</em> в дереве документов.</p>
<p>В отличие от {{domxref("document.adoptNode()")}}, исходный узел не удаляется из исходного документа. Импортированный узел является клоном оригинала.</p>
diff --git a/files/ru/web/api/document/index.html b/files/ru/web/api/document/index.html
index 0437405ed7..77f9977abf 100644
--- a/files/ru/web/api/document/index.html
+++ b/files/ru/web/api/document/index.html
@@ -60,7 +60,7 @@ translation_of: Web/API/Document
<dt>{{domxref("Document.inputEncoding")}} {{Deprecated_inline}}</dt>
<dd>Возвращает кодировку, которая использовалась во время парсинга документа.</dd>
<dt>{{domxref("Document.lastStyleSheetSet")}}</dt>
- <dd>Возвращает имя последнего включенного набора таблиц стилей. Имеет значение <code>null</code> , пока таблица стилей не будет изменена путем установки значения {{domxref("Document.selectedStyleSheetSet","selectedStyleSheetSet")}}.</dd>
+ <dd>Возвращает имя последнего включённого набора таблиц стилей. Имеет значение <code>null</code> , пока таблица стилей не будет изменена путём установки значения {{domxref("Document.selectedStyleSheetSet","selectedStyleSheetSet")}}.</dd>
<dt>{{domxref("Document.mozSyntheticDocument")}} {{non-standard_inline}} {{gecko_minversion_inline("8.0")}}</dt>
<dd><code>true</code> если этот документ является синтетическим, например, отдельные изображения, видео, аудио файлы, или тому подобные.</dd>
<dt>{{domxref("Document.mozFullScreen")}} {{non-standard_inline}} {{gecko_minversion_inline("9.0")}}</dt>
diff --git a/files/ru/web/api/document/keypress_event/index.html b/files/ru/web/api/document/keypress_event/index.html
index cf6158c111..ac1a90647a 100644
--- a/files/ru/web/api/document/keypress_event/index.html
+++ b/files/ru/web/api/document/keypress_event/index.html
@@ -3,7 +3,7 @@ title: keypress
slug: Web/API/Document/keypress_event
translation_of: Web/API/Document/keypress_event
---
-<p><span class="seoSummary">Событие <code>keypress</code> происходит когда нажимается символьная клавиша, то есть клавиша которая создает символ. Пример таких клавиш это буквы, цифры, знаки пунктуации и т.д. Примеры клавиш которые не создают символы, это клавиши модификаторы, такие как: </span><kbd>Alt</kbd>, <kbd>Shift</kbd>, <kbd>Ctrl</kbd>, or <kbd>Meta</kbd><span class="seoSummary">.</span></p>
+<p><span class="seoSummary">Событие <code>keypress</code> происходит когда нажимается символьная клавиша, то есть клавиша которая создаёт символ. Пример таких клавиш это буквы, цифры, знаки пунктуации и т.д. Примеры клавиш которые не создают символы, это клавиши модификаторы, такие как: </span><kbd>Alt</kbd>, <kbd>Shift</kbd>, <kbd>Ctrl</kbd>, or <kbd>Meta</kbd><span class="seoSummary">.</span></p>
<h2 id="Общая_информация">Общая информация</h2>
diff --git a/files/ru/web/api/document/queryselector/index.html b/files/ru/web/api/document/queryselector/index.html
index 4ec3c94009..69972a97d7 100644
--- a/files/ru/web/api/document/queryselector/index.html
+++ b/files/ru/web/api/document/queryselector/index.html
@@ -57,7 +57,7 @@ translation_of: Web/API/Document/querySelector
<h3 id="Экранирование_специальных_символов">Экранирование специальных символов</h3>
-<p>Чтобы сопоставить ID или селекторы, которые не соответствуют стандартному синтаксису CSS (например, использующих ненадлежащим образом двоеточие или пробел), необходимо экранировать символ обратной косой чертой ("<code>\</code>"). Поскольку обратная косая черта также является экранирующим символом в JavaScript, то при вводе литеральной строки необходимо экранировать ее <em>дважды</em> (первый раз для строки JavaScript и второй для <code>querySelector()</code>):</p>
+<p>Чтобы сопоставить ID или селекторы, которые не соответствуют стандартному синтаксису CSS (например, использующих ненадлежащим образом двоеточие или пробел), необходимо экранировать символ обратной косой чертой ("<code>\</code>"). Поскольку обратная косая черта также является экранирующим символом в JavaScript, то при вводе литеральной строки необходимо экранировать её <em>дважды</em> (первый раз для строки JavaScript и второй для <code>querySelector()</code>):</p>
<pre class="brush: html notranslate">&lt;div id="foo\bar"&gt;&lt;/div&gt;
&lt;div id="foo:bar"&gt;&lt;/div&gt;
@@ -78,7 +78,7 @@ translation_of: Web/API/Document/querySelector
<h3 id="Выбор_первого_элемента_с_совпадающим_классом">Выбор первого элемента с совпадающим классом</h3>
-<p>В этом примере, нам вернется первый элемент в документе с классом "<code>myclass</code>":</p>
+<p>В этом примере, нам вернётся первый элемент в документе с классом "<code>myclass</code>":</p>
<pre class="brush: js notranslate">var el = document.querySelector(".myclass");
</pre>
diff --git a/files/ru/web/api/document/readystate/index.html b/files/ru/web/api/document/readystate/index.html
index 52eb1850bb..6950772a90 100644
--- a/files/ru/web/api/document/readystate/index.html
+++ b/files/ru/web/api/document/readystate/index.html
@@ -24,9 +24,9 @@ translation_of: Web/API/Document/readyState
<dl>
<dt><code>loading</code></dt>
- <dd>Страница все еще загружается.</dd>
+ <dd>Страница все ещё загружается.</dd>
<dt><code>interactive</code></dt>
- <dd>Страница уже загружена и <a href="/en-US/docs/Glossary/DOM">DOM</a> дерево построено, но дополнительные ресурсы, такие как изображения и <a href="/en-US/docs/Web/HTML/Element/iframe">iframe</a>, все еще загружаются.</dd>
+ <dd>Страница уже загружена и <a href="/en-US/docs/Glossary/DOM">DOM</a> дерево построено, но дополнительные ресурсы, такие как изображения и <a href="/en-US/docs/Web/HTML/Element/iframe">iframe</a>, все ещё загружаются.</dd>
<dt><code>complete</code></dt>
<dd>Страница и все дополнительные ресурсы уже загружены. Это состояние указывает, что событие {{event("load")}} уже вызвано.</dd>
</dl>
@@ -39,7 +39,7 @@ translation_of: Web/API/Document/readyState
<pre class="brush: js notranslate"><span>switch (document.readyState) {
case "loading":
- // Страница все еще загружается
+ // Страница все ещё загружается
break;
case "interactive":
  // Страница уже загружена. Теперь мы можем получить доступ к DOM объектам.
diff --git a/files/ru/web/api/document/referrer/index.html b/files/ru/web/api/document/referrer/index.html
index 2855d99c69..b60801adbf 100644
--- a/files/ru/web/api/document/referrer/index.html
+++ b/files/ru/web/api/document/referrer/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Document/referrer
---
<div>{{APIRef("DOM")}}</div>
-<p>Возвращает <a href="http://www.w3.org/Addressing/#background">URI</a> страницы, с которой был совершен переход на текущую.</p>
+<p>Возвращает <a href="http://www.w3.org/Addressing/#background">URI</a> страницы, с которой был совершён переход на текущую.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -18,7 +18,7 @@ translation_of: Web/API/Document/referrer
<h3 id="Значение">Значение</h3>
-<p>Вернет пустую строку, если пользователь попал на страницу напрямую (не через ссылку, а, например, через закладку). Т.к. свойство возвращает строку, это не дает вам доступ к DOM ссылающейся страницы.</p>
+<p>Вернёт пустую строку, если пользователь попал на страницу напрямую (не через ссылку, а, например, через закладку). Т.к. свойство возвращает строку, это не даёт вам доступ к DOM ссылающейся страницы.</p>
<p>Внутри элемента {{HTMLElement("iframe")}}, <code>Document.referrer</code> первоначально будет установлен в тоже значение, что и {{domxref("HTMLHyperlinkElementUtils/href", "href")}} объекта {{domxref("Window/location", "Window.location")}} родительского окна.</p>
diff --git a/files/ru/web/api/document/scroll_event/index.html b/files/ru/web/api/document/scroll_event/index.html
index 041c505630..5b50a26c31 100644
--- a/files/ru/web/api/document/scroll_event/index.html
+++ b/files/ru/web/api/document/scroll_event/index.html
@@ -46,9 +46,9 @@ translation_of: Web/API/Document/scroll_event
<h3 id="Пропуск_тактов_события_прокрутки">Пропуск тактов события прокрутки</h3>
-<p>Поскольку события прокрутки могут запускаться с высокой скоростью, обработчик событий не должен выполнять вычислительно-емкие операции, такие как модификации DOM. Вместо этого рекомендуется пропускать такты события, используя {{DOMxRef("Window.requestAnimationFrame()", "requestAnimationFrame()")}}, {{DOMxRef("WindowOrWorkerGlobalScope.setTimeout()", "setTimeout()")}} или {{DOMxRef("CustomEvent")}}, как показано ниже.</p>
+<p>Поскольку события прокрутки могут запускаться с высокой скоростью, обработчик событий не должен выполнять вычислительно-ёмкие операции, такие как модификации DOM. Вместо этого рекомендуется пропускать такты события, используя {{DOMxRef("Window.requestAnimationFrame()", "requestAnimationFrame()")}}, {{DOMxRef("WindowOrWorkerGlobalScope.setTimeout()", "setTimeout()")}} или {{DOMxRef("CustomEvent")}}, как показано ниже.</p>
-<p>Обратите внимание, однако, что входные события и кадры анимации запускаются примерно с одинаковой скоростью, и поэтому приведенная ниже оптимизация зачастую не требуется. В примере ниже оптимизируется событие <code>scroll</code> для <code>requestAnimationFrame</code>:</p>
+<p>Обратите внимание, однако, что входные события и кадры анимации запускаются примерно с одинаковой скоростью, и поэтому приведённая ниже оптимизация зачастую не требуется. В примере ниже оптимизируется событие <code>scroll</code> для <code>requestAnimationFrame</code>:</p>
<pre class="brush: js notranslate">// Источник: http://www.html5rocks.com/en/tutorials/speed/animations/
diff --git a/files/ru/web/api/document_object_model/events/index.html b/files/ru/web/api/document_object_model/events/index.html
index b8dd38e9d8..eb3a257182 100644
--- a/files/ru/web/api/document_object_model/events/index.html
+++ b/files/ru/web/api/document_object_model/events/index.html
@@ -10,7 +10,7 @@ original_slug: DOM/DOM_Reference/Events
<p>В этой главе описывается модель событий DOM. <a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event">Топ скрыть</a> Интерфейс сам по себе описано, а также интерфейсы для регистрации событий на узлах в DOM, Также а <a href="/ru/docs/Web/API/EventTarget.addEventListener">обработчики события</a> Главного , Также а Несколько больше Примеры, которые показывают, как Различные интерфейсы связаны друг события Главного с другом.</p>
-<p>Существует отличная диаграмма, которая четко объясняет события трех этапов через DOM в проекте <a href="http://www.w3.org/TR/DOM-Level-3-Events/#dom-event-architecture">DOM Level 3 Events</a> .</p>
+<p>Существует отличная диаграмма, которая чётко объясняет события трёх этапов через DOM в проекте <a href="http://www.w3.org/TR/DOM-Level-3-Events/#dom-event-architecture">DOM Level 3 Events</a> .</p>
<p>Также см. <a href="/ru/docs/DOM/DOM_Reference/Examples#Example_5:_Event_Propagation">Пример 5: Распространение событий</a> в главе «Примеры» для более подробного примера.</p>
@@ -41,7 +41,7 @@ function greet (event) {
<pre class="brush: html">&lt;button onclick = "alert ('Hello world!')"&gt;
</pre>
-<p>Код JavaScript в атрибуте передается объекту Event через <code>event</code>параметр. <a href="http://dev.w3.org/html5/spec/webappapis.html#the-event-handler-processing-algorithm">Возвращаемое значение обрабатывается особым образом, описанным в спецификации HTML</a> .</p>
+<p>Код JavaScript в атрибуте передаётся объекту Event через <code>event</code>параметр. <a href="http://dev.w3.org/html5/spec/webappapis.html#the-event-handler-processing-algorithm">Возвращаемое значение обрабатывается особым образом, описанным в спецификации HTML</a> .</p>
<p>Этого пути следует избегать. Это делает разметку больше и менее читаемой. Проблемы содержания / структуры и поведения плохо разделены, что затрудняет поиск ошибки.</p>
@@ -57,9 +57,9 @@ function greet (event) {
<h2 id="Доступ_к_интерфейсам_событий">Доступ к интерфейсам событий</h2>
-<p>Обработчики событий могут быть присоединены к различным объектам, включая элементы DOM, документ, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects">объект окна</a> и т. Д. Когда происходит событие, объект события создается и последовательно передается обработчикам события.</p>
+<p>Обработчики событий могут быть присоединены к различным объектам, включая элементы DOM, документ, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects">объект окна</a> и т. Д. Когда происходит событие, объект события создаётся и последовательно передаётся обработчикам события.</p>
-<p>Интерфейс {{domxref ("Event")}} доступен из функции-обработчика через объект события, переданный в качестве первого аргумента. В следующем простом примере показано, как объект события передается в функцию-обработчик события и может использоваться из одной такой функции.</p>
+<p>Интерфейс {{domxref ("Event")}} доступен из функции-обработчика через объект события, переданный в качестве первого аргумента. В следующем простом примере показано, как объект события передаётся в функцию-обработчик события и может использоваться из одной такой функции.</p>
<pre class="brush: js"><code>function print(evt) {</code>
// параметру evt автоматически назначается объект события
diff --git a/files/ru/web/api/document_object_model/examples/index.html b/files/ru/web/api/document_object_model/examples/index.html
index 18eb89b351..6f0354b793 100644
--- a/files/ru/web/api/document_object_model/examples/index.html
+++ b/files/ru/web/api/document_object_model/examples/index.html
@@ -368,7 +368,7 @@ for (var i = 0; i &lt; 2; i++) {
<h3 id="Notes" name="Notes">Заметки</h3>
<ul>
- <li>Свойство таблицы {{domxref ("element.innerHTML", "innerHTML")}} никогда не должно использоваться для изменения таблицы, хотя вы можете использовать ее для записи всей таблицы или содержимого ячейки.</li>
+ <li>Свойство таблицы {{domxref ("element.innerHTML", "innerHTML")}} никогда не должно использоваться для изменения таблицы, хотя вы можете использовать её для записи всей таблицы или содержимого ячейки.</li>
<li>Если для создания строк и ячеек используются методы DOM Core {{domxref ("document.createElement")}} и {{domxref ("Node.appendChild")}}, IE требует, чтобы они были добавлены к элементу tbody, тогда как другие браузеры позволят добавлять к элементу таблицы (строки будут добавлены к последнему элементу tbody).</li>
<li>Существует ряд других методов, относящихся к интерфейсу таблицы, которые могут использоваться для создания и изменения таблиц.</li>
</ul>
diff --git a/files/ru/web/api/document_object_model/introduction/index.html b/files/ru/web/api/document_object_model/introduction/index.html
index e906032520..426ebcbe5e 100644
--- a/files/ru/web/api/document_object_model/introduction/index.html
+++ b/files/ru/web/api/document_object_model/introduction/index.html
@@ -54,7 +54,7 @@ p_list = doc.getElementsByTagName("para");</code></pre>
<pre class="language-html">&lt;body onload="window.alert('добро пожаловать на мою домашнюю страницу!');"&gt;
</pre>
-<p>В следующем примере внутри элемента <code>&lt;script&gt;</code> определен код JavaScript, данный код устанавливает функцию при загрузке документа (когда весь DOM доступен для использования). Эта функция создает новый элемент H1, добавляет текст в данный элемент, а затем добавляет H1 в дерево документа:</p>
+<p>В следующем примере внутри элемента <code>&lt;script&gt;</code> определён код JavaScript, данный код устанавливает функцию при загрузке документа (когда весь DOM доступен для использования). Эта функция создаёт новый элемент H1, добавляет текст в данный элемент, а затем добавляет H1 в дерево документа:</p>
<pre class="brush: html language-html"><code class="language-html"><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>html</span><span class="punctuation token">&gt;</span></span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>head</span><span class="punctuation token">&gt;</span></span>
@@ -111,7 +111,7 @@ p_list = doc.getElementsByTagName("para");</code></pre>
</tr>
<tr>
<td>namedNodeMap</td>
- <td>namedNodeMap подобна массиву, но элементы доступны по имени или индексу. Доступ по индексу - это лишь для удобства перечисления, т.к. элементы не имеют определенного порядка в списке. Этот тип данных имеет метод item() для этих целей и вы можете также добавлять и удалять элементы из namedNodeMap</td>
+ <td>namedNodeMap подобна массиву, но элементы доступны по имени или индексу. Доступ по индексу - это лишь для удобства перечисления, т.к. элементы не имеют определённого порядка в списке. Этот тип данных имеет метод item() для этих целей и вы можете также добавлять и удалять элементы из namedNodeMap</td>
</tr>
</tbody>
</table>
@@ -144,11 +144,11 @@ table.summary = "note: increased border";</pre>
<h3 id="Основные_интерфейсы_в_DOM_Core_interfaces_in_the_DOM">Основные интерфейсы в DOM (Core interfaces in the DOM)</h3>
-<p>Этот раздел перечисляет несколько самых распространенных интерфейсов в DOM. Идея не в том чтобы описать, что делают эти методы API, но в том чтобы дать вам несколько мыслей насчет видов методов и свойств, которые вы будете часто видеть, используя DOM. Эти распространенные части API использованы в большинстве примеров раздела <a href="https://developer.mozilla.org/en-US/docs/Gecko_DOM_Reference/Examples">DOM Examples</a> в конце этой справки.</p>
+<p>Этот раздел перечисляет несколько самых распространённых интерфейсов в DOM. Идея не в том чтобы описать, что делают эти методы API, но в том чтобы дать вам несколько мыслей насчёт видов методов и свойств, которые вы будете часто видеть, используя DOM. Эти распространённые части API использованы в большинстве примеров раздела <a href="https://developer.mozilla.org/en-US/docs/Gecko_DOM_Reference/Examples">DOM Examples</a> в конце этой справки.</p>
<p><code>Document, window</code> - это объекты, чьи интерфейсы вы, как правило, очень часто используете в программировании DOM. Говоря простыми словами, объект <code>window</code> представляет что-то вроде браузера, а объект <code>document</code> - корень самого документа. <code>Element</code> наследуется от общего интерфейса <code>Node</code>, и эти интерфейсы вместе предоставляют много методов и свойств, которые можно применять у отдельных элементов. Эти элементы также могут иметь отдельные интерфейсы для работы с типами данных, которые эти элементы содержат, как в примере с объектом <code>table</code> в предыдущем случае.</p>
-<p>Ниже представлен краткий список распространенных членов API, используемых в программировании веб- и XML-страниц с использованием DOM:</p>
+<p>Ниже представлен краткий список распространённых членов API, используемых в программировании веб- и XML-страниц с использованием DOM:</p>
<ul>
<li><code><a href="/ru/docs/Web/API/Document/getElementById">document.getElementById</a>(id)</code></li>
diff --git a/files/ru/web/api/document_object_model/locating_dom_elements_using_selectors/index.html b/files/ru/web/api/document_object_model/locating_dom_elements_using_selectors/index.html
index 0bdfd09bdc..fcf0e9351a 100644
--- a/files/ru/web/api/document_object_model/locating_dom_elements_using_selectors/index.html
+++ b/files/ru/web/api/document_object_model/locating_dom_elements_using_selectors/index.html
@@ -6,7 +6,7 @@ original_slug: DOM/DOM_Reference/Locating_DOM_elements_using_selectors
---
<div>{{ gecko_minversion_header("1.9.1") }}</div>
-<div>Selectors API предоставляет методы, с помощью которых можно быстро и просто получить доступ к узлам <code><a href="/en-US/docs/DOM/element">Element</a></code> из DOM путем сопоставления с набором селекторов. Это намного быстрее, чем прошлые техники, где надо было, например, использовать цикл в JS-коде, чтобы найти конкретные элементы.</div>
+<div>Selectors API предоставляет методы, с помощью которых можно быстро и просто получить доступ к узлам <code><a href="/en-US/docs/DOM/element">Element</a></code> из DOM путём сопоставления с набором селекторов. Это намного быстрее, чем прошлые техники, где надо было, например, использовать цикл в JS-коде, чтобы найти конкретные элементы.</div>
<div> </div>
@@ -16,7 +16,7 @@ original_slug: DOM/DOM_Reference/Locating_DOM_elements_using_selectors
<dl>
<dt><code>querySelector</code></dt>
- <dd>Возвращает первый совпадающий узел <a class="internal" href="/en-US/docs/DOM/element" title="en-US/docs/DOM/Element"><code>Element</code></a> внутри поддерева. Если совпадающих узлов нет, будет возвращен <code>null</code>.</dd>
+ <dd>Возвращает первый совпадающий узел <a class="internal" href="/en-US/docs/DOM/element" title="en-US/docs/DOM/Element"><code>Element</code></a> внутри поддерева. Если совпадающих узлов нет, будет возвращён <code>null</code>.</dd>
<dt><code>querySelectorAll</code></dt>
<dd>Возвращает <a class="internal" href="/en-US/docs/DOM/NodeList" title="en-US/docs/DOM/NodeList"><code>NodeList</code></a><code>, </code>содержащий все подходящие узлы <code>Element</code> внутри поддерева узлов. Или возвращает пустой <code>NodeList</code>, если совпадений не найдено.</dd>
</dl>
@@ -27,7 +27,7 @@ original_slug: DOM/DOM_Reference/Locating_DOM_elements_using_selectors
<h2 id="Selectors">Selectors</h2>
-<p>Селекторные методы принимают один или больше селекторов, разделенных запятыми, чтобы определить, какие элементы должны быть возвращены. Например, чтобы все параграфы в документе, которые имеют классы <code>warning </code>или <code>note</code>, можно сделать следующее:</p>
+<p>Селекторные методы принимают один или больше селекторов, разделённых запятыми, чтобы определить, какие элементы должны быть возвращены. Например, чтобы все параграфы в документе, которые имеют классы <code>warning </code>или <code>note</code>, можно сделать следующее:</p>
<pre><code>var special = document.querySelectorAll( "p.warning, p.note" );</code></pre>
diff --git a/files/ru/web/api/documentfragment/index.html b/files/ru/web/api/documentfragment/index.html
index 61a6ae1571..edfbe14735 100644
--- a/files/ru/web/api/documentfragment/index.html
+++ b/files/ru/web/api/documentfragment/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/DocumentFragment
---
<p>{{ APIRef("DOM") }}</p>
-<p>Интерфейс DocumentFragment представляет собой минимальный объект документа, который не имеет родителя. Он используется как легкая версия  {{domxref ("Document")}}, чтобы хранить хорошо сформированные или потенциально не хорошо формированные фрагменты XML.</p>
+<p>Интерфейс DocumentFragment представляет собой минимальный объект документа, который не имеет родителя. Он используется как лёгкая версия  {{domxref ("Document")}}, чтобы хранить хорошо сформированные или потенциально не хорошо формированные фрагменты XML.</p>
<p>Различные другие методы могут взять document fragment в качестве аргумента (например, любые методы интерфейса Node, такие как Node.appendChild и Node.insertBefore), в этом случае прикрепляются или вставляются  дети фрагмента, а не сам фрагмент.</p>
@@ -15,7 +15,7 @@ translation_of: Web/API/DocumentFragment
<h2 id="Specification" name="Specification">Свойства</h2>
-<p><em>Этот интерфейс не имеет определенных свойств помимо наследуемых от его родителя, {{domxref("Node")}}, и реализует их из интерфейса {{domxref("ParentNode")}}.</em></p>
+<p><em>Этот интерфейс не имеет определённых свойств помимо наследуемых от его родителя, {{domxref("Node")}}, и реализует их из интерфейса {{domxref("ParentNode")}}.</em></p>
<dl>
<dt>{{ domxref("ParentNode.children") }} {{readonlyInline}}{{experimental_inline}}</dt>
diff --git a/files/ru/web/api/domhighrestimestamp/index.html b/files/ru/web/api/domhighrestimestamp/index.html
index 666c2f7ecc..08264fdf0d 100644
--- a/files/ru/web/api/domhighrestimestamp/index.html
+++ b/files/ru/web/api/domhighrestimestamp/index.html
@@ -23,7 +23,7 @@ event.timeStamp
// ...
-// уменьшенная точность времени с включенным `privacy.resistFingerprinting`
+// уменьшенная точность времени с включённым `privacy.resistFingerprinting`
event.timeStamp;
// 1519129853500
// 1519129858900
diff --git a/files/ru/web/api/domimplementation/createhtmldocument/index.html b/files/ru/web/api/domimplementation/createhtmldocument/index.html
index 51092a034b..b339da409b 100644
--- a/files/ru/web/api/domimplementation/createhtmldocument/index.html
+++ b/files/ru/web/api/domimplementation/createhtmldocument/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/DOMImplementation/createHTMLDocument
---
<p>{{ApiRef("DOM")}}</p>
-<p><span class="seoSummary">Метод <strong><code>DOMImplementation.createHTMLDocument()</code></strong> создает новый HTML {{ domxref("Document") }}.</span></p>
+<p><span class="seoSummary">Метод <strong><code>DOMImplementation.createHTMLDocument()</code></strong> создаёт новый HTML {{ domxref("Document") }}.</span></p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -26,7 +26,7 @@ translation_of: Web/API/DOMImplementation/createHTMLDocument
<h2 id="Пример">Пример</h2>
-<p>В этом примере создается новый HTML-документ и вставляется в {{HTMLElement("iframe")}} текущего документа.</p>
+<p>В этом примере создаётся новый HTML-документ и вставляется в {{HTMLElement("iframe")}} текущего документа.</p>
<p>Вот HTML для этого примера:</p>
diff --git a/files/ru/web/api/domimplementation/index.html b/files/ru/web/api/domimplementation/index.html
index f68c256376..e0e5834098 100644
--- a/files/ru/web/api/domimplementation/index.html
+++ b/files/ru/web/api/domimplementation/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/DOMImplementation
<h2 id="Свойства">Свойства</h2>
-<p><em>Этот интерфейс не имеет определенного свойства и не наследует его.</em></p>
+<p><em>Этот интерфейс не имеет определённого свойства и не наследует его.</em></p>
<h2 id="Методы">Методы</h2>
@@ -22,13 +22,13 @@ translation_of: Web/API/DOMImplementation
<dl>
<dt>{{domxref("DOMImplementation.createDocument()")}}</dt>
- <dd>Создает и возвращает {{domxref("XMLDocument")}}.</dd>
+ <dd>Создаёт и возвращает {{domxref("XMLDocument")}}.</dd>
<dt>{{domxref("DOMImplementation.createDocumentType()")}}</dt>
- <dd>Создает и возвращает {{domxref("DocumentType")}}.</dd>
+ <dd>Создаёт и возвращает {{domxref("DocumentType")}}.</dd>
<dt>{{domxref("DOMImplementation.createHTMLDocument()")}}</dt>
- <dd>Создает и возвращает HTML {{domxref("Document")}}.</dd>
+ <dd>Создаёт и возвращает HTML {{domxref("Document")}}.</dd>
<dt>{{domxref("DOMImplementation.hasFeature()")}}</dt>
- <dd>Возвращает {{domxref("Boolean")}}, указывающий, поддерживается ли данная функция или нет. Эта функция ненадежна и сохраняется только для целей совместимости: за исключением запросов, связанных с SVG, она всегда возвращает true. Старые браузеры очень непоследовательны в своем поведении.</dd>
+ <dd>Возвращает {{domxref("Boolean")}}, указывающий, поддерживается ли данная функция или нет. Эта функция ненадёжна и сохраняется только для целей совместимости: за исключением запросов, связанных с SVG, она всегда возвращает true. Старые браузеры очень непоследовательны в своём поведении.</dd>
</dl>
<h2 id="Спецификации">Спецификации</h2>
@@ -48,7 +48,7 @@ translation_of: Web/API/DOMImplementation
Added the <code>createHTMLDocument()</code> method.<br>
Modified the return type of <code>createDocument()</code> from {{domxref("Document")}} to {{domxref("XMLDocument")}}.</p>
- <p>Удален метод <code>getFeature()</code>. Добавлен метод <code>createHTMLDocument()</code>. Изменён тип возвращаемого значения <code>createDocument()</code> с {{domxref("Document")}} на {{domxref("XMLDocument")}}.</p>
+ <p>Удалён метод <code>getFeature()</code>. Добавлен метод <code>createHTMLDocument()</code>. Изменён тип возвращаемого значения <code>createDocument()</code> с {{domxref("Document")}} на {{domxref("XMLDocument")}}.</p>
</td>
</tr>
<tr>
diff --git a/files/ru/web/api/domparser/index.html b/files/ru/web/api/domparser/index.html
index a23e5cb58e..76d1ed4964 100644
--- a/files/ru/web/api/domparser/index.html
+++ b/files/ru/web/api/domparser/index.html
@@ -30,7 +30,7 @@ var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");
<h3 id="Error_handling" name="Error_handling">Обработка ошибок</h3>
-<p>Заметьте, если процесс парсинга не удастся , <code>DOMParser</code> теперь не выдает исключение, но вместо этого выдает документ ошибки (see {{Bug(45566)}}):</p>
+<p>Заметьте, если процесс парсинга не удастся , <code>DOMParser</code> теперь не выдаёт исключение, но вместо этого выдаёт документ ошибки (see {{Bug(45566)}}):</p>
<pre class="brush:xml">&lt;parsererror xmlns="http://www.mozilla.org/newlayout/xml/parsererror.xml"&gt;
(Описание ошибки)
diff --git a/files/ru/web/api/domtokenlist/replace/index.html b/files/ru/web/api/domtokenlist/replace/index.html
index 3fb65e93ea..ad41a3d422 100644
--- a/files/ru/web/api/domtokenlist/replace/index.html
+++ b/files/ru/web/api/domtokenlist/replace/index.html
@@ -22,7 +22,7 @@ translation_of: Web/API/DOMTokenList/replace
<h3 id="Возвращает_значение">Возвращает значение</h3>
-<p>Boolean, которое будет <code>true</code>, если <code><var>oldToken</var></code> был успешно заменен, или <code>false</code> в противном случае.</p>
+<p>Boolean, которое будет <code>true</code>, если <code><var>oldToken</var></code> был успешно заменён, или <code>false</code> в противном случае.</p>
<div class="note">
<p><strong>Примечание</strong>: В старых браузерах <code>replace()</code> возвращает void.</p>
diff --git a/files/ru/web/api/element/attachshadow/index.html b/files/ru/web/api/element/attachshadow/index.html
index 535f95ce1a..d2fcdbf0df 100644
--- a/files/ru/web/api/element/attachshadow/index.html
+++ b/files/ru/web/api/element/attachshadow/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Element/attachShadow
<h4 id="Элементы_которые_можно_добавить_в_теневой_DOM">Элементы которые можно добавить в теневой DOM</h4>
-<p>Обратите внимание, что не каждый элемент можно добавить в корень теневого дерева. Некоторые типы исключены по соображениям безопасности(например {{htmlelement("a")}}), и некоторые другие. Вот список разрешенных элементов:</p>
+<p>Обратите внимание, что не каждый элемент можно добавить в корень теневого дерева. Некоторые типы исключены по соображениям безопасности(например {{htmlelement("a")}}), и некоторые другие. Вот список разрешённых элементов:</p>
<ul>
<li>Любой пользовательский элемент с <a href="https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name">валидным именем</a></li>
@@ -80,14 +80,14 @@ element.shadowRoot === null; // returns true
</tr>
<tr>
<td>NotSupportedError</td>
- <td>Вы пытаетесь прикрепить shadow DOM к HTML элементу с некорректным именем, или к запрещенному элементу. (см. выше)</td>
+ <td>Вы пытаетесь прикрепить shadow DOM к HTML элементу с некорректным именем, или к запрещённому элементу. (см. выше)</td>
</tr>
</tbody>
</table>
<h2 id="Примеры">Примеры</h2>
-<p>Пример взят из демо компонента <a href="https://github.com/mdn/web-components-examples/tree/master/word-count-web-component">word-count-web-component</a>, так-же доступно <a href="https://mdn.github.io/web-components-examples/word-count-web-component/">live demo</a>. Вы можете найти метод attachShadow()  примерно в середине кода. Метод создает корневой элемент теневого DOM  к которому потом добавляется содержимое шаблона элемента.</p>
+<p>Пример взят из демо компонента <a href="https://github.com/mdn/web-components-examples/tree/master/word-count-web-component">word-count-web-component</a>, так-же доступно <a href="https://mdn.github.io/web-components-examples/word-count-web-component/">live demo</a>. Вы можете найти метод attachShadow()  примерно в середине кода. Метод создаёт корневой элемент теневого DOM  к которому потом добавляется содержимое шаблона элемента.</p>
<pre class="brush: js"><code>//Create a class for the element
class WordCount extends HTMLParagraphElement {
diff --git a/files/ru/web/api/element/blur_event/index.html b/files/ru/web/api/element/blur_event/index.html
index acebebdabb..f5357eb7ae 100644
--- a/files/ru/web/api/element/blur_event/index.html
+++ b/files/ru/web/api/element/blur_event/index.html
@@ -26,7 +26,7 @@ original_slug: Web/Events/blur
<dd style="margin: 0 0 0 120px;">Нет</dd>
</dl>
-<p>{{NoteStart}}Значение {{domxref("Document.activeElement")}} меняется в зависимости от браузера во время выполнения этого события ({{bug(452307)}}): IE10 устанавливает его к элементу на который будет перемещен фокус, в то время как Firefox и Chrome обычно устанавливают его к <code>body</code> документа{{NoteEnd}}</p>
+<p>{{NoteStart}}Значение {{domxref("Document.activeElement")}} меняется в зависимости от браузера во время выполнения этого события ({{bug(452307)}}): IE10 устанавливает его к элементу на который будет перемещён фокус, в то время как Firefox и Chrome обычно устанавливают его к <code>body</code> документа{{NoteEnd}}</p>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/element/classlist/index.html b/files/ru/web/api/element/classlist/index.html
index c96fc8427a..1e83b5f78b 100644
--- a/files/ru/web/api/element/classlist/index.html
+++ b/files/ru/web/api/element/classlist/index.html
@@ -41,7 +41,7 @@ translation_of: Web/API/Element/classList
    Если класс у элемента отсутствует - добавляет, иначе - убирает. Когда вторым параметром передано false - удаляет указанный класс, а если true - добавляет.</dd>
<dd>    Если вторым параметром передан undefined или переменная с typeof == 'undefined', поведение будет аналогичным передаче только первого параметра при вызове toggle.</dd>
<dd><strong>contains</strong> ( String )<br>
-     Проверяет, есть ли данный класс у элемента (вернет true или false)</dd>
+     Проверяет, есть ли данный класс у элемента (вернёт true или false)</dd>
</dl>
<div class="note">
diff --git a/files/ru/web/api/element/clientleft/index.html b/files/ru/web/api/element/clientleft/index.html
index 09395a31c0..6fb2e89c0b 100644
--- a/files/ru/web/api/element/clientleft/index.html
+++ b/files/ru/web/api/element/clientleft/index.html
@@ -61,8 +61,8 @@ translation_of: Web/API/Element/clientLeft
<h2 id="Notes">Notes</h2>
-<p><code>clientLeft</code> был впервые введен MS IE DHTML object model.</p>
+<p><code>clientLeft</code> был впервые введён MS IE DHTML object model.</p>
-<p>Расположение вертикального scrollbar для письма справа налево примененного для элемента будет назначаются следующим свойством <a class="external" href="http://kb.mozillazine.org/Layout.scrollbar.side"><code>layout.scrollbar.side</code> preference</a></p>
+<p>Расположение вертикального scrollbar для письма справа налево применённого для элемента будет назначаются следующим свойством <a class="external" href="http://kb.mozillazine.org/Layout.scrollbar.side"><code>layout.scrollbar.side</code> preference</a></p>
-<p>Когда установлены стили элемента <code>display: inline</code>, то <code>clientLeft</code> вернет <code>0</code> несмотря на границы элемента.</p>
+<p>Когда установлены стили элемента <code>display: inline</code>, то <code>clientLeft</code> вернёт <code>0</code> несмотря на границы элемента.</p>
diff --git a/files/ru/web/api/element/clienttop/index.html b/files/ru/web/api/element/clienttop/index.html
index cf209ba985..4160e3847e 100644
--- a/files/ru/web/api/element/clienttop/index.html
+++ b/files/ru/web/api/element/clienttop/index.html
@@ -38,7 +38,7 @@ translation_of: Web/API/Element/clientTop
<h2 id="Notes" name="Notes">Примечание</h2>
-<p><code>clientTop</code> был впервые введен в MS IE DHTML object model.</p>
+<p><code>clientTop</code> был впервые введён в MS IE DHTML object model.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/element/closest/index.html b/files/ru/web/api/element/closest/index.html
index 84d47ca794..0d8837d8a0 100644
--- a/files/ru/web/api/element/closest/index.html
+++ b/files/ru/web/api/element/closest/index.html
@@ -43,7 +43,7 @@ translation_of: Web/API/Element/closest
<p>Думаю, стоит рассмотреть несколько примеров:</p>
-<pre class="brush: js notranslate">var div = document.querySelector("#too"); //Это элемент от которого мы начнем поиск
+<pre class="brush: js notranslate">var div = document.querySelector("#too"); //Это элемент от которого мы начнём поиск
div.closest("#block"); //Результат - самый первый блок древа выше
div.closest("div"); //Сам блок #too и будет результатом, так как он подходит под селектор "div"
diff --git a/files/ru/web/api/element/error_event/index.html b/files/ru/web/api/element/error_event/index.html
index 716ebfef1d..44804d730b 100644
--- a/files/ru/web/api/element/error_event/index.html
+++ b/files/ru/web/api/element/error_event/index.html
@@ -23,7 +23,7 @@ original_slug: Web/Events/error
<dt style="float: left; text-align: right; width: 120px;">Спецификация</dt>
<dd style="margin: 0 0 0 120px;"><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Events/#event-type-error">DOM L3</a></dd>
<dt style="float: left; text-align: right; width: 120px;">Интерфейс</dt>
- <dd style="margin: 0 0 0 120px;">{{domxref("UIEvent")}} если создается элементом пользовательского интерфейса, {{domxref("MediaRecorderErrorEvent")}} если генерируется API записи MediaStream, и {{domxref("Event")}} иначе.</dd>
+ <dd style="margin: 0 0 0 120px;">{{domxref("UIEvent")}} если создаётся элементом пользовательского интерфейса, {{domxref("MediaRecorderErrorEvent")}} если генерируется API записи MediaStream, и {{domxref("Event")}} иначе.</dd>
<dt style="float: left; text-align: right; width: 120px;">Вплывающее</dt>
<dd style="margin: 0 0 0 120px;">Нет</dd>
<dt style="float: left; text-align: right; width: 120px;">Отменяемое</dt>
diff --git a/files/ru/web/api/element/getboundingclientrect/index.html b/files/ru/web/api/element/getboundingclientrect/index.html
index 7d154af995..a2dbe829cf 100644
--- a/files/ru/web/api/element/getboundingclientrect/index.html
+++ b/files/ru/web/api/element/getboundingclientrect/index.html
@@ -73,9 +73,9 @@ var rect = obj.getBoundingClientRect();</code></pre>
<p>Возвращаемый <code>DOMRect</code> объект может быть модифицирован в современных браузерах. Это не так со старыми версиями, которые возвращали <code>DOMRectReadOnly</code>. У IE и Edge, не имея возможности добавить пропущенные свойства к возвращаемым ими <a href="https://msdn.microsoft.com/en-us/library/hh826029(VS.85).aspx"><code>ClientRect</code></a>, объект не позволял добавить <code>x</code> и <code>y</code>.</p>
-<p>Для кроссбраузерности надежно использовать только <code>left</code>, <code>top</code>, <code>right</code>, и <code>bottom</code>.</p>
+<p>Для кроссбраузерности надёжно использовать только <code>left</code>, <code>top</code>, <code>right</code>, и <code>bottom</code>.</p>
-<p>Свойства у <code>DOMRect</code> не являются собственными. <code>in</code> оператор и <code>for...in</code> найдут возвращенные значение, но другие APIs, <code>Object.keys()</code>, — нет. А еще <code>Object.assign()</code> и spread оператор не копируют их.</p>
+<p>Свойства у <code>DOMRect</code> не являются собственными. <code>in</code> оператор и <code>for...in</code> найдут возвращённые значение, но другие APIs, <code>Object.keys()</code>, — нет. А ещё <code>Object.assign()</code> и spread оператор не копируют их.</p>
<pre><code>rect = elt.getBoundingClientRect()
// emptyObj всегда {}
diff --git a/files/ru/web/api/element/getelementsbyclassname/index.html b/files/ru/web/api/element/getelementsbyclassname/index.html
index 08cacea20e..2b4e7674d9 100644
--- a/files/ru/web/api/element/getelementsbyclassname/index.html
+++ b/files/ru/web/api/element/getelementsbyclassname/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/Element/getElementsByClassName
<p><strong><code>Element.getElementsByClassName()</code></strong> метод возвращает объект {{domxref("HTMLCollection")}}, содержащий в себе все дочерние элементы, которые имеют заданные имена классов. Если вызван на объекте document, будут возвращены все элементы, содержащиеся в документе.</p>
-<p>Так же, как метод {{domxref("Document.getElementsByClassName", "Document.getElementsByClassName()")}} действует на весь документ; это вернет элементы, которые являются потомками корневого элемента, содержащие в себе указанные классы.</p>
+<p>Так же, как метод {{domxref("Document.getElementsByClassName", "Document.getElementsByClassName()")}} действует на весь документ; это вернёт элементы, которые являются потомками корневого элемента, содержащие в себе указанные классы.</p>
<p>Syntax</p>
@@ -38,7 +38,7 @@ translation_of: Web/API/Element/getElementsByClassName
<pre class="brush: js">document.getElementById('main').getElementsByClassName('test');</pre>
-<p>Мы так же можем использовать все методы из {{jsxref("Array.prototype")}} на любом  {{ domxref("HTMLCollection") }} путем передачи <code><var>HTMLCollection</var></code> в метод как значение <var>this</var>. Так мы найдем все {{HTMLElement("div")}} элементы, которые имеют класс test:</p>
+<p>Мы так же можем использовать все методы из {{jsxref("Array.prototype")}} на любом  {{ domxref("HTMLCollection") }} путём передачи <code><var>HTMLCollection</var></code> в метод как значение <var>this</var>. Так мы найдём все {{HTMLElement("div")}} элементы, которые имеют класс test:</p>
<pre class="brush: js">var testElements = document.getElementsByClassName('test');
var testDivs = Array.prototype.filter.call(testElements, function(testElement){
diff --git a/files/ru/web/api/element/getelementsbytagname/index.html b/files/ru/web/api/element/getelementsbytagname/index.html
index 6dd764a608..5085a050d1 100644
--- a/files/ru/web/api/element/getelementsbytagname/index.html
+++ b/files/ru/web/api/element/getelementsbytagname/index.html
@@ -17,7 +17,7 @@ translation_of: Web/API/Element/getElementsByTagName
<ul>
<li><code>elements</code> это живая коллекция {{domxref("HTMLCollection")}} найденных элементов в том порядке, в котором они были найдены в дереве. Если не найдено ни одного элемента, удовлетворяющего условиям поиска, то коллекция будет пустой.</li>
- <li><code>element</code> это элемент в котором будет осуществляться поиск. Обратите внимание, что поиск будет осуществляться только в потомках этого элемента. Сам элемент не будет включен в результат поиска. </li>
+ <li><code>element</code> это элемент в котором будет осуществляться поиск. Обратите внимание, что поиск будет осуществляться только в потомках этого элемента. Сам элемент не будет включён в результат поиска. </li>
<li><code>tagName</code> определяет имя тега для поиска. Если значением tagName будет <code>"*", то в результате будут получены все потомки элемента по которому осуществляется поиск</code>. Для совместимости с XHTML следует использовать нижний регистр в имени тега. </li>
</ul>
@@ -129,6 +129,6 @@ for (var i = 0; i &lt; cells.length; i++) {
</table>
</div>
-<p>[1] До Firefox 19 этот метод возвращал {{domxref("NodeList")}}; и был затем изменен, чтобы соответствовать спецификации.</p>
+<p>[1] До Firefox 19 этот метод возвращал {{domxref("NodeList")}}; и был затем изменён, чтобы соответствовать спецификации.</p>
-<p>[2] Первоначально этот метод возвращал {{domxref("NodeList")}}; и был затем изменен, чтобы соответствовать спецификации.</p>
+<p>[2] Первоначально этот метод возвращал {{domxref("NodeList")}}; и был затем изменён, чтобы соответствовать спецификации.</p>
diff --git a/files/ru/web/api/element/hasattribute/index.html b/files/ru/web/api/element/hasattribute/index.html
index 12983eff93..de656ff27d 100644
--- a/files/ru/web/api/element/hasattribute/index.html
+++ b/files/ru/web/api/element/hasattribute/index.html
@@ -17,7 +17,7 @@ translation_of: Web/API/Element/hasAttribute
</pre>
<ul>
- <li><code>Переменная result</code> хранит возвращенное значение <code>true</code> или <code>false</code>.</li>
+ <li><code>Переменная result</code> хранит возвращённое значение <code>true</code> или <code>false</code>.</li>
<li><code>attName</code> это  {{Glossary("String")}} представляющая имя атрибута.</li>
</ul>
diff --git a/files/ru/web/api/element/index.html b/files/ru/web/api/element/index.html
index 966cf39fe2..690ad551ff 100644
--- a/files/ru/web/api/element/index.html
+++ b/files/ru/web/api/element/index.html
@@ -54,7 +54,7 @@ translation_of: Web/API/Element
<dd>Пространство имён URI элемента или null, если это не пространство имен.</dd>
<dd>
<div class="note">
- <p><strong>Примечание:</strong> В Firefox версии 3.5 и ранее, HTML элементы не находятся в пространстве имен. В более поздних версиях, HTML элементы находятся в пространстве имен  <code><a href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code>  как в деревьях HTML, так и XML. {{ gecko_minversion_inline("1.9.2") }}</p>
+ <p><strong>Примечание:</strong> В Firefox версии 3.5 и ранее, HTML элементы не находятся в пространстве имён. В более поздних версиях, HTML элементы находятся в пространстве имён  <code><a href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code>  как в деревьях HTML, так и XML. {{ gecko_minversion_inline("1.9.2") }}</p>
</div>
</dd>
</dl>
@@ -119,7 +119,7 @@ translation_of: Web/API/Element
<dl>
<dt>{{ domxref("EventTarget.addEventListener()") }}</dt>
- <dd>Регистрирует обработчик событий для определенного типа событий в элементе.</dd>
+ <dd>Регистрирует обработчик событий для определённого типа событий в элементе.</dd>
<dt>{{ domxref("Element.closest()")}} {{experimental_inline}}</dt>
<dd>Возвращает {{domxref("Element")}}, потомка этого элемента (или сам этот элемент), который является ближайшим предком элементов, выбранных селекторами, указанными в параметре.</dd>
<dt>{{ domxref("Element.createShadowRoot()")}} {{experimental_inline}}</dt>
@@ -135,11 +135,11 @@ translation_of: Web/API/Element
<dt>{{ domxref("Element.getAttribute()") }}</dt>
<dd>Извлекает значение именованного атрибута из текущего узла и возвращает его в виде{{jsxref("Object")}}.</dd>
<dt>{{ domxref("Element.getAttributeNS()") }}</dt>
- <dd>Извлекает значение атрибута с указанным именем и пространством имен из текущего узла и возвращает его как {{jsxref("Object")}}.</dd>
+ <dd>Извлекает значение атрибута с указанным именем и пространством имён из текущего узла и возвращает его как {{jsxref("Object")}}.</dd>
<dt>{{ domxref("Element.getAttributeNode()") }} {{obsolete_inline}}</dt>
<dd>Извлекает представление узла именованного атрибута из текущего узла и возвращает его в виде {{ domxref("Attr") }}.</dd>
<dt>{{ domxref("Element.getAttributeNodeNS()") }} {{obsolete_inline}}</dt>
- <dd>Извлекает представление узла атрибута с указанным именем и пространством имен из текущего узла и возвращает его в виде {{ domxref("Attr") }}.</dd>
+ <dd>Извлекает представление узла атрибута с указанным именем и пространством имён из текущего узла и возвращает его в виде {{ domxref("Attr") }}.</dd>
<dt>{{ domxref("Element.getBoundingClientRect()") }}<code> </code>{{experimental_inline}}</dt>
<dd>...</dd>
<dt>{{ domxref("Element.getClientRects()") }} {{experimental_inline}} TYPE of returnvalue????</dt>
@@ -153,9 +153,9 @@ translation_of: Web/API/Element
<dt>{{ domxref("Element.getElementsByTagNameNS()") }}</dt>
<dd>Возвращает коллекцию {{ domxref ("HTMLCollection")}}, которая содержит все элементы, у которых название тега и пространства имён совпадает с тем, что заданно в параметрах функции.</dd>
<dt>{{ domxref("Element.hasAttribute()") }}</dt>
- <dd>Возвращает {{jsxref("Boolean")}}, указывающее, имеет элемент определенный атрибут, или нет.</dd>
+ <dd>Возвращает {{jsxref("Boolean")}}, указывающее, имеет элемент определённый атрибут, или нет.</dd>
<dt>{{ domxref("Element.hasAttributeNS()") }}</dt>
- <dd>Возвращает {{jsxref("Boolean")}}, указывающий, имеет элемент определенный атрибут в определенном пространстве имен, или нет.</dd>
+ <dd>Возвращает {{jsxref("Boolean")}}, указывающий, имеет элемент определённый атрибут в определённом пространстве имён, или нет.</dd>
<dt>{{ domxref("Element.insertAdjacentHTML") }} {{experimental_inline}}</dt>
<dd>Анализирует текст как HTML или XML и вставляет полученные узлы в указанную позицию дерева элементов.</dd>
<dt>{{ domxref("Element.matches()") }}<code> </code>{{experimental_inline}}</dt>
@@ -171,7 +171,7 @@ translation_of: Web/API/Element
<dt>{{ domxref("Element.removeAttribute()") }}</dt>
<dd>Удаляет именованный атрибут из текущего узла.</dd>
<dt>{{ domxref("Element.removeAttributeNS()") }}</dt>
- <dd>Удаляет атрибут с указанным именем и пространством имен, из текущего узла.</dd>
+ <dd>Удаляет атрибут с указанным именем и пространством имён, из текущего узла.</dd>
<dt>{{ domxref("Element.removeAttributeNode()") }} {{obsolete_inline}}</dt>
<dd>Удаляет представление узла именованного атрибута из текущего узла.</dd>
<dt>{{ domxref("EventTarget.removeEventListener()") }}</dt>
@@ -184,15 +184,15 @@ translation_of: Web/API/Element
<dl>
<dt>{{ domxref("Element.scrollIntoView()") }} {{experimental_inline}}</dt>
- <dd>Прокручивает страницу до тех пор, пока элемент не попадет в представление.</dd>
+ <dd>Прокручивает страницу до тех пор, пока элемент не попадёт в представление.</dd>
<dt>{{ domxref("Element.setAttribute()") }}</dt>
<dd>Устанавливает значение именованного атрибута из текущей узла.</dd>
<dt>{{ domxref("Element.setAttributeNS()") }}</dt>
- <dd>Устанавливает значение атрибута с определенным именем и пространством имен из текущей узла.</dd>
+ <dd>Устанавливает значение атрибута с определённым именем и пространством имён из текущей узла.</dd>
<dt>{{ domxref("Element.setAttributeNode()") }} {{obsolete_inline}}</dt>
- <dd>Задает представление узла именованного атрибута из текущего узла.</dd>
+ <dd>Задаёт представление узла именованного атрибута из текущего узла.</dd>
<dt>{{ domxref("Element.setAttributeNodeNS()") }} {{obsolete_inline}}</dt>
- <dd>Установите представление узла атрибута с указанным именем и пространством имен из текущего узла.</dd>
+ <dd>Установите представление узла атрибута с указанным именем и пространством имён из текущего узла.</dd>
<dt>{{ domxref("Element.setCapture()") }} {{non-standard_inline}}</dt>
<dd>Настройка захвата событий мыши, перенаправление всех событий мыши на этот элемент.</dd>
<dt>{{domxref("Element.setPointerCapture()")}}</dt>
diff --git a/files/ru/web/api/element/innerhtml/index.html b/files/ru/web/api/element/innerhtml/index.html
index 2803948c8c..9920c078ae 100644
--- a/files/ru/web/api/element/innerhtml/index.html
+++ b/files/ru/web/api/element/innerhtml/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Element/innerHTML
<p>Свойство интерфейса {{domxref("Element")}} <strong><code>innerHTML</code></strong> устанавливает или получает HTML или XML разметку дочерних элементов.</p>
-<div class="note"><strong>Примечание: </strong>Если узлы {{HTMLElement("div")}}, {{HTMLElement("span")}}, или {{HTMLElement("noembed")}} имеют дочерние текстовые узлы, содержащие символы <code>(&amp;), (&lt;),</code> или <code>(&gt;)</code>, <code>innerHTML</code> вернет эти символы как &amp;amp, &amp;lt и &amp;gt соответственно. Используйте {{domxref("Node.textContent")}} для получения правильной копии содержимого этих текстовых узлов. </div>
+<div class="note"><strong>Примечание: </strong>Если узлы {{HTMLElement("div")}}, {{HTMLElement("span")}}, или {{HTMLElement("noembed")}} имеют дочерние текстовые узлы, содержащие символы <code>(&amp;), (&lt;),</code> или <code>(&gt;)</code>, <code>innerHTML</code> вернёт эти символы как &amp;amp, &amp;lt и &amp;gt соответственно. Используйте {{domxref("Node.textContent")}} для получения правильной копии содержимого этих текстовых узлов. </div>
<p> Чтобы вставить HTML в документ, не меняя содержимое элемента, используйте {{domxref("Element.insertAdjacentHTML", "insertAdjacentHTML()")}}.</p>
@@ -43,7 +43,7 @@ translation_of: Web/API/Element/innerHTML
javascript:"&lt;pre&gt;"+document.documentElement.innerHTML.replace(/&lt;/g,"&amp;lt;") + "&lt;/pre&gt;";
</pre>
-<p>Это свойство было первоначально реализовано веб браузерами, затем описано WHATWG и W3C в HTML5. Старые реализации могут отличаться от новых. Для примера, когда введен текст в поле ввода &lt;input&gt;, IE меняет значение атрибута &lt;input&gt; свойства innerHTML, но браузеры Gecko не делают этого.</p>
+<p>Это свойство было первоначально реализовано веб браузерами, затем описано WHATWG и W3C в HTML5. Старые реализации могут отличаться от новых. Для примера, когда введён текст в поле ввода &lt;input&gt;, IE меняет значение атрибута &lt;input&gt; свойства innerHTML, но браузеры Gecko не делают этого.</p>
<h3 id="Соображения_безопасности">Соображения безопасности</h3>
@@ -160,8 +160,8 @@ boxElem.addEventListener("mouseleave", logEvent);</pre>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
- <li><a class="external" href="http://innerdom.sourceforge.net/"><code>innerDOM</code></a> - Для тех, кто хочет придерживаться стандартов, вот один набор функций JavaScript, предлагающий сериализовать или разобрать XML так, чтобы установить содержимое элемента, определенное как строка(и) через DOM или получить содержимое элемента, полученное из DOM как строку.</li>
+ <li><a class="external" href="http://innerdom.sourceforge.net/"><code>innerDOM</code></a> - Для тех, кто хочет придерживаться стандартов, вот один набор функций JavaScript, предлагающий сериализовать или разобрать XML так, чтобы установить содержимое элемента, определённое как строка(и) через DOM или получить содержимое элемента, полученное из DOM как строку.</li>
<li>{{domxref("Element.insertAdjacentHTML")}} - <span id="result_box" lang="ru"><span>Альтернатива для innerHTML, позволяющая добавлять новый HTML</span></span>.</li>
- <li><a class="external" href="https://github.com/ndebeiss/jsxmlsaxparser">jssaxparser</a> -  Более надежным (хотя и более тяжелым) решением, чем innerDOM (поддерживает парсинг с пространствами имен, однокавычками атрибутов, секциями CDATA и т.д.), является этот SAX2 парсер при использовании с его обработчиком DOM-контента. (Предлагает строку на DOM; DOM на строку <a href="https://app.assembla.com/spaces/brettz9/bize6mebSr3B31ab7jnrAJ/source/DOMToString">значительно проще</a>).</li>
+ <li><a class="external" href="https://github.com/ndebeiss/jsxmlsaxparser">jssaxparser</a> -  Более надёжным (хотя и более тяжёлым) решением, чем innerDOM (поддерживает парсинг с пространствами имён, однокавычками атрибутов, секциями CDATA и т.д.), является этот SAX2 парсер при использовании с его обработчиком DOM-контента. (Предлагает строку на DOM; DOM на строку <a href="https://app.assembla.com/spaces/brettz9/bize6mebSr3B31ab7jnrAJ/source/DOMToString">значительно проще</a>).</li>
<li>Эффективность соображений: <a class="external" href="http://www.quirksmode.org/dom/innerhtml.html">quirksmode.</a></li>
</ul>
diff --git a/files/ru/web/api/element/insertadjacenttext/index.html b/files/ru/web/api/element/insertadjacenttext/index.html
index 81a8079b0c..2b269e1291 100644
--- a/files/ru/web/api/element/insertadjacenttext/index.html
+++ b/files/ru/web/api/element/insertadjacenttext/index.html
@@ -24,7 +24,7 @@ translation_of: Web/API/Element/insertAdjacentText
</ul>
</dd>
<dt><code>element</code></dt>
- <dd>{{domxref("DOMString")}} текст, который будет помещен в заданную позицию.</dd>
+ <dd>{{domxref("DOMString")}} текст, который будет помещён в заданную позицию.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
diff --git a/files/ru/web/api/element/mouseenter_event/index.html b/files/ru/web/api/element/mouseenter_event/index.html
index 682e4930cd..48bd4bae46 100644
--- a/files/ru/web/api/element/mouseenter_event/index.html
+++ b/files/ru/web/api/element/mouseenter_event/index.html
@@ -34,7 +34,7 @@ translation_of: Web/API/Element/mouseenter_event
<div style="column-width: 455px; border: 1px solid; padding: 5px; margin-bottom: 10px;">
<div style="text-align: center;"><img alt="mouseenter.png" class="default internal" src="/@api/deki/files/5908/=mouseenter.png"></div>
-<span class="tlid-translation translation" lang="ru"><span title="">Одно событие </span></span> <code>mouseenter</code> <span class="tlid-translation translation" lang="ru"><span title="">отправляется каждому элементу иерархии при их вводе.</span> <span title="">Здесь 4 события отправляются четырем элементам иерархии, когда указатель достигает текста.</span></span>
+<span class="tlid-translation translation" lang="ru"><span title="">Одно событие </span></span> <code>mouseenter</code> <span class="tlid-translation translation" lang="ru"><span title="">отправляется каждому элементу иерархии при их вводе.</span> <span title="">Здесь 4 события отправляются четырём элементам иерархии, когда указатель достигает текста.</span></span>
<div style="text-align: center;"><img alt="mouseover.png" class="default internal" src="/@api/deki/files/5909/=mouseover.png"></div>
<span class="tlid-translation translation" lang="ru"><span title="">Одиночное событие наведения мыши</span></span> <code>mouseover</code> <span class="tlid-translation translation" lang="ru"><span title="">отправляется в самый глубокий элемент дерева DOM, затем оно всплывает в иерархии, пока не будет отменено обработчиком или не достигнет корня.</span></span></div>
diff --git a/files/ru/web/api/element/mouseleave_event/index.html b/files/ru/web/api/element/mouseleave_event/index.html
index 19b5e9dafb..6f0e633b07 100644
--- a/files/ru/web/api/element/mouseleave_event/index.html
+++ b/files/ru/web/api/element/mouseleave_event/index.html
@@ -8,7 +8,7 @@ translation_of: Web/API/Element/mouseleave_event
<p class="summary">Событие <code>mouseleave</code> срабатывает, когда курсор манипулятора (обычно мыши) перемещается за границы элемента.</p>
<p><code>mouseleave</code> <code>и</code> {{event('mouseout')}} схожи, но отличаются тем, что <code>mouseleave</code> не всплывает, а <code>mouseout</code> всплывает.<br>
- Это значит, что <code>mouseleave</code> срабатывает, когда курсор выходит за границы элемента <em>и</em> всех его дочерних элементов, в то время как <code>mouseout</code> срабатывает, когда курсор покидает границы элемента <em>или</em> одного из его дочерних элементов (даже если курсор все еще находится в пределах элемента).</p>
+ Это значит, что <code>mouseleave</code> срабатывает, когда курсор выходит за границы элемента <em>и</em> всех его дочерних элементов, в то время как <code>mouseout</code> срабатывает, когда курсор покидает границы элемента <em>или</em> одного из его дочерних элементов (даже если курсор все ещё находится в пределах элемента).</p>
<table class="standard" style="border: solid 1px;">
<tbody>
diff --git a/files/ru/web/api/element/removeattribute/index.html b/files/ru/web/api/element/removeattribute/index.html
index d249cb37b5..df098434f2 100644
--- a/files/ru/web/api/element/removeattribute/index.html
+++ b/files/ru/web/api/element/removeattribute/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/Element/removeAttribute
</pre>
<ul>
- <li><code>attrName</code> строка, имя атрибута который должен быть удален с <em>element</em>.</li>
+ <li><code>attrName</code> строка, имя атрибута который должен быть удалён с <em>element</em>.</li>
</ul>
<h2 id="Example" name="Example">Пример</h2>
diff --git a/files/ru/web/api/element/scrollheight/index.html b/files/ru/web/api/element/scrollheight/index.html
index e7f6f1f4af..895c36a2a8 100644
--- a/files/ru/web/api/element/scrollheight/index.html
+++ b/files/ru/web/api/element/scrollheight/index.html
@@ -166,7 +166,7 @@ onload = function () {
</tbody>
</table>
-<p><strong>В версиях Firefox до 21-й:</strong> когда контент элемента не создает вертикальную полосу прокрутки, его свойство <code style="font-size: 14px;">scrollHeight</code><span style="line-height: 1.5;"> равно значению </span><code style="font-size: 14px;">clientHeight</code><span style="line-height: 1.5;">. Это может означать либо то, что контента слишком мало, чтобы ему потребовалась полоса прокрутки, либо то, что у элемента значение CSS свойства overflow равно visible (в этом случае прокрутка отсутствует).</span></p>
+<p><strong>В версиях Firefox до 21-й:</strong> когда контент элемента не создаёт вертикальную полосу прокрутки, его свойство <code style="font-size: 14px;">scrollHeight</code><span style="line-height: 1.5;"> равно значению </span><code style="font-size: 14px;">clientHeight</code><span style="line-height: 1.5;">. Это может означать либо то, что контента слишком мало, чтобы ему потребовалась полоса прокрутки, либо то, что у элемента значение CSS свойства overflow равно visible (в этом случае прокрутка отсутствует).</span></p>
<h2 id="See_Also" name="See_Also">Смотрите также</h2>
diff --git a/files/ru/web/api/element/scrolltop/index.html b/files/ru/web/api/element/scrolltop/index.html
index 5da685b3c7..f057dc4f40 100644
--- a/files/ru/web/api/element/scrolltop/index.html
+++ b/files/ru/web/api/element/scrolltop/index.html
@@ -19,7 +19,7 @@ var <var> intElemScrollTop</var> = someElement.scrollTop;
<var>element</var>.scrollTop = <var>intValue</var>;
</pre>
-<p><code>scrollTop</code> может быть любым целым числом, с определенными оговорками:</p>
+<p><code>scrollTop</code> может быть любым целым числом, с определёнными оговорками:</p>
<ul>
<li>Если элемент не может быть прокручен (т.е. у него нет переполнения или если элемент <strong>не прокручиваем</strong>), <code>scrollTop</code> устанавливается в <code>0</code>.</li>
diff --git a/files/ru/web/api/element/setattribute/index.html b/files/ru/web/api/element/setattribute/index.html
index 0d61d3834e..f7e43d6d58 100644
--- a/files/ru/web/api/element/setattribute/index.html
+++ b/files/ru/web/api/element/setattribute/index.html
@@ -34,13 +34,13 @@ b.setAttribute("disabled", "disabled");
<h2 id="Notes" name="Notes">Примечания</h2>
-<p>При вызове на элементе внутри HTML документа, setAttribute переведет имя атрибута в нижний регистр.</p>
+<p>При вызове на элементе внутри HTML документа, setAttribute переведёт имя атрибута в нижний регистр.</p>
<p>Если указанный атрибут уже существует, его значение изменится на новое. Если атрибута ранее не существовало, он будет создан.</p>
-<p>Несмотря на то, что метод  <code style="font-style: normal;"><a href="/ru/docs/DOM/element.getAttribute" title="DOM/element.getAttribute">getAttribute()</a></code> возвращает null у удаленных атрибутов, вы должны использовать <a href="/ru/docs/DOM/element.removeAttribute" style="font-family: Consolas, Monaco, 'Andale Mono', monospace;" title="DOM/element.removeAttribute">removeAttribute()</a> вместо <em>elt</em><span style="font-family: consolas,monaco,andale mono,monospace;">.setAttribute(</span><em>attr</em><span style="font-family: consolas,monaco,andale mono,monospace;">, null)</span>, чтобы удалить атрибут. Последний заставит значение <code>null</code> быть строкой <code>"null"</code>, <span class="short_text" id="result_box" lang="ru"><span>которая, вероятно,</span> <span>не то, что</span> <span>вы хотите</span><span>.</span></span></p>
+<p>Несмотря на то, что метод  <code style="font-style: normal;"><a href="/ru/docs/DOM/element.getAttribute" title="DOM/element.getAttribute">getAttribute()</a></code> возвращает null у удалённых атрибутов, вы должны использовать <a href="/ru/docs/DOM/element.removeAttribute" style="font-family: Consolas, Monaco, 'Andale Mono', monospace;" title="DOM/element.removeAttribute">removeAttribute()</a> вместо <em>elt</em><span style="font-family: consolas,monaco,andale mono,monospace;">.setAttribute(</span><em>attr</em><span style="font-family: consolas,monaco,andale mono,monospace;">, null)</span>, чтобы удалить атрибут. Последний заставит значение <code>null</code> быть строкой <code>"null"</code>, <span class="short_text" id="result_box" lang="ru"><span>которая, вероятно,</span> <span>не то, что</span> <span>вы хотите</span><span>.</span></span></p>
-<p>Использование setAttribute() для изменения определенных атрибутов особенно значимо в XUL, так как работает непоследовательно, а атрибут определяет значение по умолчанию. Для того, чтобы получить или изменить текущие значения, вы должны использовать свойства. Например, elt.value вместо elt.setAttribure('value', val).</p>
+<p>Использование setAttribute() для изменения определённых атрибутов особенно значимо в XUL, так как работает непоследовательно, а атрибут определяет значение по умолчанию. Для того, чтобы получить или изменить текущие значения, вы должны использовать свойства. Например, elt.value вместо elt.setAttribure('value', val).</p>
<p>Чтобы установить атрибут, которому значение не нужно, такой как, например, атрибут <code>autoplay</code> элемента {{HTMLElement("audio")}}, используйте null или пустое значение. Например: <code><em>elt</em>.setAttribute('autoplay', '')</code></p>
diff --git a/files/ru/web/api/element/slot/index.html b/files/ru/web/api/element/slot/index.html
index 0cf309a075..7ff8d276c7 100644
--- a/files/ru/web/api/element/slot/index.html
+++ b/files/ru/web/api/element/slot/index.html
@@ -28,7 +28,7 @@ translation_of: Web/API/Element/slot
<h2 id="Example" name="Example">Примеры</h2>
-<p>В нашем <a href="https://github.com/mdn/web-components-examples/tree/master/simple-template">примере простого шаблона</a> (<a href="https://mdn.github.io/web-components-examples/simple-template/">смотри в прямом эфире</a>), мы создаем тривиальный пример пользовательского элемента с именем <code>&lt;my-paragraph&gt;</code>, в котором прикрепляется теневой корень, а затем заполняется с использованием содержимого шаблона, содержащего слот с именем <code>my-text</code>.</p>
+<p>В нашем <a href="https://github.com/mdn/web-components-examples/tree/master/simple-template">примере простого шаблона</a> (<a href="https://mdn.github.io/web-components-examples/simple-template/">смотри в прямом эфире</a>), мы создаём тривиальный пример пользовательского элемента с именем <code>&lt;my-paragraph&gt;</code>, в котором прикрепляется теневой корень, а затем заполняется с использованием содержимого шаблона, содержащего слот с именем <code>my-text</code>.</p>
<p>Когда в документе используется <code>&lt;my-paragraph&gt;</code>, слот заполняется слот-элементом, включая его в элемент с атрибутом <code><a href="/en-US/docs/Web/HTML/Global_attributes/slot">slot</a></code> со значением <code>my-text</code>. Вот один из таких примеров:</p>
diff --git a/files/ru/web/api/elementcssinlinestyle/style/index.html b/files/ru/web/api/elementcssinlinestyle/style/index.html
index 7180bedfa6..df3bcd15b5 100644
--- a/files/ru/web/api/elementcssinlinestyle/style/index.html
+++ b/files/ru/web/api/elementcssinlinestyle/style/index.html
@@ -20,13 +20,13 @@ original_slug: Web/API/HTMLElement/style
<div>{{ APIRef("HTML DOM") }}</div>
</div>
-<p>Свойство<strong> </strong><code><strong>HTMLElement.style</strong></code> используется для получения и установки инлайновых стилей. При получении возвращается объект <a href="/en-US/docs/DOM/CSSStyleDeclaration" title="DOM/CSSStyleDeclaration"><code>CSSStyleDeclaration</code></a> , который содержит список из всех свойств стилей для этого элемента с значениями заданными  для атрибутов , что определенны  в инлайновом стиле (см. <a href="/en-US/docs/Web/HTML/Global_attributes#style"><code>атрибут</code> стиля</a>) элемента. См. <a href="/en-US/docs/Web/CSS/CSS_Properties_Reference" title="/en-US/docs/Web/CSS/CSS_Properties_Reference">CSS Properties Reference</a> для получения списка CSS свойств применимых вместе со style.  </p>
+<p>Свойство<strong> </strong><code><strong>HTMLElement.style</strong></code> используется для получения и установки инлайновых стилей. При получении возвращается объект <a href="/en-US/docs/DOM/CSSStyleDeclaration" title="DOM/CSSStyleDeclaration"><code>CSSStyleDeclaration</code></a> , который содержит список из всех свойств стилей для этого элемента с значениями заданными  для атрибутов , что определённы  в инлайновом стиле (см. <a href="/en-US/docs/Web/HTML/Global_attributes#style"><code>атрибут</code> стиля</a>) элемента. См. <a href="/en-US/docs/Web/CSS/CSS_Properties_Reference" title="/en-US/docs/Web/CSS/CSS_Properties_Reference">CSS Properties Reference</a> для получения списка CSS свойств применимых вместе со style.  </p>
<h3 id="Настройка_стилей">Настройка стилей</h3>
<p>Свойство style имеет тот же приоритет (и выше) в каскаде CSS как и прямая декларация стиля через атрибут style, полезен для настройки стиля отдельного специфичного элемента.</p>
-<p>Стили не следует устанавливать непосредственно через свойство <code>style</code> (например <code>elt.style = "color: blue;"</code>), поскольку оно считается доступным только для чтения и атрибут style возвращает объект <code>CSSStyleDeclaration</code> который доступен только для чтения. Вместо этого стили могут быть установлены путем присвоения значений свойствам <code>style</code>. Для добавления определенных стилей для элемента без изменения других свойств стилей предпочтительно использовать отдельные свойства <code>style</code> (например <code>elt.style.color = '...'</code>).
+<p>Стили не следует устанавливать непосредственно через свойство <code>style</code> (например <code>elt.style = "color: blue;"</code>), поскольку оно считается доступным только для чтения и атрибут style возвращает объект <code>CSSStyleDeclaration</code> который доступен только для чтения. Вместо этого стили могут быть установлены путём присвоения значений свойствам <code>style</code>. Для добавления определённых стилей для элемента без изменения других свойств стилей предпочтительно использовать отдельные свойства <code>style</code> (например <code>elt.style.color = '...'</code>).
При использовании <br><code>elt.style.cssText = '...'</code> или <code>elt.setAttribute('style','...')</code> устанавливаются стили перезаписывая уже существующие. Обратите внимание, что имена свойств стилей задаются в camel-case а не в kebab-case <code>elt.style.&lt;property&gt;</code> (т.е., <code>elt.style.fontSize</code>, а не <code>elt.style.font-size</code>).</p>
<p>Объявленные стили сбрасываются присваиванием значения <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">null</span></font>, <br><code>elt.style.color = null</code></p>
@@ -38,7 +38,7 @@ elt.style.cssText = "color: blue; border: 1px solid black";
// Или
elt.setAttribute("style", "color:red; border: 1px solid blue;");
-// Устанавливает определенный стиль оставляя другие значения стиля нетронутыми
+// Устанавливает определённый стиль оставляя другие значения стиля нетронутыми
elt.style.color = "blue";</code></pre>
<h3 id="Получение_стиль-информации">Получение стиль-информации</h3>
diff --git a/files/ru/web/api/event/event/index.html b/files/ru/web/api/event/event/index.html
index c18a0ab884..0b608e61b0 100644
--- a/files/ru/web/api/event/event/index.html
+++ b/files/ru/web/api/event/event/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Event/Event
---
<p>{{APIRef("DOM")}}</p>
-<p>Конструктор <code><strong>Event()</strong></code> создает новый объект события {{domxref("Event")}}.</p>
+<p>Конструктор <code><strong>Event()</strong></code> создаёт новый объект события {{domxref("Event")}}.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/event/index.html b/files/ru/web/api/event/index.html
index 41b3027031..05babc71de 100644
--- a/files/ru/web/api/event/index.html
+++ b/files/ru/web/api/event/index.html
@@ -78,7 +78,7 @@ translation_of: Web/API/Event
<dl>
<dt>{{domxref("Event.Event", "Event()")}}</dt>
- <dd>Создает объект <code>Event</code> и возвращает его вызывающему.</dd>
+ <dd>Создаёт объект <code>Event</code> и возвращает его вызывающему.</dd>
</dl>
<h2 id="Properties" name="Properties">Свойства</h2>
@@ -115,7 +115,7 @@ translation_of: Web/API/Event
<dt>{{domxref("Event.timeStamp")}} {{readonlyinline}}</dt>
<dd>Время, когда событие было создано (в миллисекундах). По спецификации это время от начала Эпохи (Unix Epoch), но в действительности в разных браузерах определяется по-разному; кроме того, ведётся работа по изменению его на {{domxref("DOMHighResTimeStamp")}} тип.</dd>
<dt>{{domxref("Event.type")}} {{readonlyinline}}</dt>
- <dd>Название события (без учета регистра символов).</dd>
+ <dd>Название события (без учёта регистра символов).</dd>
<dt>{{domxref("Event.isTrusted")}} {{readonlyinline}}</dt>
<dd>Показывает было или нет событие инициировано браузером (например, по клику мышью) или из скрипта (например, через функцию создания события, такую как <a href="/en-US/docs/DOM/event.initEvent">event.initEvent</a>)</dd>
</dl>
diff --git a/files/ru/web/api/event/type/index.html b/files/ru/web/api/event/type/index.html
index 11512d0c29..b007fc956f 100644
--- a/files/ru/web/api/event/type/index.html
+++ b/files/ru/web/api/event/type/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/Event/type
---
<p>{{APIRef}}</p>
-<p><code><strong>Event.type</strong></code> - это доступное только для чтения свойство, возвращающее строку, содержащую тип события. Оно устанавливается в момент создания события и это имя обычно используется для ссылки на определенное событие.</p>
+<p><code><strong>Event.type</strong></code> - это доступное только для чтения свойство, возвращающее строку, содержащую тип события. Оно устанавливается в момент создания события и это имя обычно используется для ссылки на определённое событие.</p>
<p>Аргумент <em><code>event</code></em> функций {{ domxref("EventTarget.addEventListener()") }} и {{ domxref("EventTarget.removeEventListener()") }} не чувствителен к регистру.</p>
diff --git a/files/ru/web/api/eventtarget/addeventlistener/index.html b/files/ru/web/api/eventtarget/addeventlistener/index.html
index c012bbf4f9..9986963aa4 100644
--- a/files/ru/web/api/eventtarget/addeventlistener/index.html
+++ b/files/ru/web/api/eventtarget/addeventlistener/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/EventTarget/addEventListener
---
<p>{{apiref("DOM Events")}}</p>
-<p>Метод <code>EventTarget.addEventListener()</code> регистрирует определенный обработчик события, вызванного на {{domxref("EventTarget")}}.</p>
+<p>Метод <code>EventTarget.addEventListener()</code> регистрирует определённый обработчик события, вызванного на {{domxref("EventTarget")}}.</p>
<p>{{domxref("EventTarget")}} может быть {{domxref("Element")}}, {{domxref("Document")}}, {{domxref("Window")}}, или любым другим объектом, поддерживающим события (таким как <code style="font-style: normal;"><a href="/ru/docs/DOM/XMLHttpRequest" title="XMLHttpRequest">XMLHttpRequest</a></code>).</p>
@@ -38,7 +38,7 @@ target</em>.addEventListener(<em>type</em>, <em>listener</em>[, <em>useCapture</
<ul>
<li><code>capture</code>:  {{jsxref("Boolean")}} указывает, что события этого типа будут отправлены зарегистрированному обработчику <code>listener</code> перед отправкой на <code>EventTarget</code>, расположенный ниже в дереве DOM.</li>
<li><code>once</code>: {{jsxref("Boolean")}} указывает, что обработчик должен быть вызван не более одного раза после добавления. Если <code>true</code>, обработчик автоматически удаляется при вызове.</li>
- <li><code>passive</code>:  {{jsxref("Boolean")}} указывает, что обработчик никогда не вызовет <code>preventDefault()</code>. Если все же вызов будет произведен, браузер должен игнорировать его и генерировать консольное предупреждение. Пример {{anch("Улучшение производительности прокрутки с помощью passive true")}}</li>
+ <li><code>passive</code>:  {{jsxref("Boolean")}} указывает, что обработчик никогда не вызовет <code>preventDefault()</code>. Если все же вызов будет произведён, браузер должен игнорировать его и генерировать консольное предупреждение. Пример {{anch("Улучшение производительности прокрутки с помощью passive true")}}</li>
<li>{{non-standard_inline}}<code> mozSystemGroup</code>: {{jsxref("Boolean")}} указывает, что обработчик должен быть добавлен в системную группу. Доступно только в коде, запущенном в XBL или в <a href="https://chrome.google.com/webstore/detail/open-with-firefox/poeacjbaiakjnaepdjgggojcjoajakmd">расширении Chrome</a>.</li>
</ul>
</dd>
@@ -52,7 +52,7 @@ target</em>.addEventListener(<em>type</em>, <em>listener</em>[, <em>useCapture</
<dd>Если равно <code>true</code>, обработчик будет получать сгенерированные события, посланные со страницы (по умолчанию равно <code>false</code> для chrome и <code>true</code> для обычных веб-страниц). Этот параметр доступен только в Gecko и в основном полезен для использования в дополнениях и самом браузере. Смотрите <a href="/ru/docs/Archive/Add-ons/Interaction_between_privileged_and_non-privileged_pages" title="Code snippets/Interaction between privileged and non-privileged pages">Взаимодействие между привилегированными и непривилегированными страницами</a> для примеров использования.</dd>
</dl>
-<p>Прежде чем использовать определенное значение в объекте <code>options</code>, рекомендуется убедиться, что браузер пользователя поддерживает его, поскольку это дополнение, которое не все браузеры поддерживали исторически.</p>
+<p>Прежде чем использовать определённое значение в объекте <code>options</code>, рекомендуется убедиться, что браузер пользователя поддерживает его, поскольку это дополнение, которое не все браузеры поддерживали исторически.</p>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
@@ -78,7 +78,7 @@ target</em>.addEventListener(<em>type</em>, <em>listener</em>[, <em>useCapture</
<h3 id="Безопасная_проверка_поддержки_option">Безопасная проверка поддержки <code>option</code></h3>
-<p>В более старых версиях спецификации DOM третьим параметром <code>addEventListener</code> было логическое значение, указывающее, следует ли захватывать событие на этапе погружения. Со временем стало ясно, что необходимо больше вариантов. Вместо добавления дополнительных параметров в функцию (усложняя ситуацию при использовании необязательных значений) третий параметр был изменен на объект, который может содержать различные свойства, определяющие значения параметров для настройки обработчика событий.</p>
+<p>В более старых версиях спецификации DOM третьим параметром <code>addEventListener</code> было логическое значение, указывающее, следует ли захватывать событие на этапе погружения. Со временем стало ясно, что необходимо больше вариантов. Вместо добавления дополнительных параметров в функцию (усложняя ситуацию при использовании необязательных значений) третий параметр был изменён на объект, который может содержать различные свойства, определяющие значения параметров для настройки обработчика событий.</p>
<p>Поскольку старые браузеры (а также некоторые не слишком старые браузеры) по-прежнему предполагают, что третий параметр является логическим, возникает необходимость создания своего кода, чтобы разумно обрабатывать этот сценарий. Вы можете сделать это, используя функцию обнаружения для каждого из интересующих вас параметров.</p>
@@ -96,16 +96,16 @@ try {
window.addEventListener("test", null, options);
} catch(err) {}</pre>
-<p>Этот код создает объект <code>options</code> с геттером для свойства passive, устанавливающим флаг <code>passiveSupported</code> в <code>true</code>, если он вызван. Это означает, что если браузер проверяет значение свойства <code>passive</code> на объекте <code>options</code>, значение <code>passiveSupported</code> будет установлено в true; в противном случае он останется ложным. Затем мы вызываем <code>addEventListener</code>, чтобы настроить фальшивый обработчик событий, указав эти параметры для проверки опций, если браузер распознает объект в качестве третьего параметра.</p>
+<p>Этот код создаёт объект <code>options</code> с геттером для свойства passive, устанавливающим флаг <code>passiveSupported</code> в <code>true</code>, если он вызван. Это означает, что если браузер проверяет значение свойства <code>passive</code> на объекте <code>options</code>, значение <code>passiveSupported</code> будет установлено в true; в противном случае он останется ложным. Затем мы вызываем <code>addEventListener</code>, чтобы настроить фальшивый обработчик событий, указав эти параметры для проверки опций, если браузер распознает объект в качестве третьего параметра.</p>
-<p>Для проверки поддержки использования какой-либо опции можно просто добавить геттер для нее, используя код, подобный тому, что показан выше.</p>
+<p>Для проверки поддержки использования какой-либо опции можно просто добавить геттер для неё, используя код, подобный тому, что показан выше.</p>
-<p>Если вы хотите добавить обработчик событий, использующий параметры, о которых идет речь, вы можете сделать это подобным образом:</p>
+<p>Если вы хотите добавить обработчик событий, использующий параметры, о которых идёт речь, вы можете сделать это подобным образом:</p>
<pre class="brush: js notranslate">someElement.addEventListener("mouseup", handleMouseUp, passiveSupported
? { passive: true } : false);</pre>
-<p>Здесь мы добавляем обработчик события {{event ("mouseup")}} элемента <code>someElement</code>. Для третьего параметра, если <code>passiveSupported</code> имеет значение <code>true</code>, мы указываем объект <code>options</code> с <code>passive: true</code>; в противном случае мы знаем, что нам нужно передать логическое значение, и мы передаем <code>false</code> как значение параметра <code>useCapture</code>.</p>
+<p>Здесь мы добавляем обработчик события {{event ("mouseup")}} элемента <code>someElement</code>. Для третьего параметра, если <code>passiveSupported</code> имеет значение <code>true</code>, мы указываем объект <code>options</code> с <code>passive: true</code>; в противном случае мы знаем, что нам нужно передать логическое значение, и мы передаём <code>false</code> как значение параметра <code>useCapture</code>.</p>
<p>Вы можете использовать стороннюю библиотеку, такую как <a href="https://modernizr.com/docs">Modernizr</a> или <a href="https://github.com/rafrex/detect-it">Detect It</a>, чтобы проверить поддержку необходимого свойства.</p>
diff --git a/files/ru/web/api/eventtarget/removeeventlistener/index.html b/files/ru/web/api/eventtarget/removeeventlistener/index.html
index 12a128fb9c..86a4b41898 100644
--- a/files/ru/web/api/eventtarget/removeeventlistener/index.html
+++ b/files/ru/web/api/eventtarget/removeeventlistener/index.html
@@ -34,7 +34,7 @@ translation_of: Web/API/EventTarget/removeEventListener
</dd>
<dt><code>useCapture</code> {{optional_inline}}</dt>
<dd>Указывает, был ли удаляемый {{domxref("EventListener")}}зарегистрирован как перехватывающий обработчик, или нет. Если этот параметр отсутствует, предполагается значение по умолчанию:<code>false</code>.</dd>
- <dd>Если обработчик был зарегистрирован дважды, один раз с перехватом (с <code>capture</code>) и один - без, каждый из них должен быть удален по отдельности. Удаление перехватывающего обработчика никак не затрагивает неперехватывающую версию этого же обработчика, и наоборот.</dd>
+ <dd>Если обработчик был зарегистрирован дважды, один раз с перехватом (с <code>capture</code>) и один - без, каждый из них должен быть удалён по отдельности. Удаление перехватывающего обработчика никак не затрагивает неперехватывающую версию этого же обработчика, и наоборот.</dd>
</dl>
<div class="note"><strong>Заметка:</strong> <code>useCapture</code> требуется в большинстве основных браузеров старых версий. Если вы хотите поддерживать большую совместимость, вы всегда должны использовать параметр <code>useCapture</code>.</div>
@@ -49,7 +49,7 @@ translation_of: Web/API/EventTarget/removeEventListener
<h2 id="Compatibility" name="Compatibility">Примечания</h2>
-<p>Если {{domxref("EventListener")}} был удален из {{domxref("EventTarget")}} процессе обработки события (например предшествующим {{domxref("EventListener")}} того же типа), он не будет вызван. После удаления, {{domxref("EventListener")}} не будет вызываться, однако его можно назначить заново.</p>
+<p>Если {{domxref("EventListener")}} был удалён из {{domxref("EventTarget")}} процессе обработки события (например предшествующим {{domxref("EventListener")}} того же типа), он не будет вызван. После удаления, {{domxref("EventListener")}} не будет вызываться, однако его можно назначить заново.</p>
<p>Вызов <code>removeEventListener()</code> с параметрами, не соответствующими ни одному зарегистрированному {{domxref("EventListener")}} в <code>EventTarget</code>, не имеет никакого эффекта.</p>
diff --git a/files/ru/web/api/extendableevent/waituntil/index.html b/files/ru/web/api/extendableevent/waituntil/index.html
index 61283c7031..0940ef1c50 100644
--- a/files/ru/web/api/extendableevent/waituntil/index.html
+++ b/files/ru/web/api/extendableevent/waituntil/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/ExtendableEvent/waitUntil
<p>События <code>install</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> чтобы задержать service worker в {{domxref("ServiceWorkerRegistration.installing", "installing")}} фазе пока не завершатся задачи. Если обещание переданное в <code>waitUntil()</code> отклоняется, установка считается неудачной и устанавливаемый service worker отбрасывается.  В первую очередь это используется для гарантии того, что service worker не рассматривается как установленный (installed), пока все основные кэши на которые он зависит успешно не заполнены.</p>
-<p>События <code>activate</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> для размещения в буфере функциональных событий таких как <code>fetch</code> и <code>push</code> пока обещание переданное в <code>waitUntil()</code> не завершится успешно. Это дает service worker время, чтобы обновить схемы базы данных и удалить устаревшие {{domxref("Cache", "caches")}}, таким образом другие события могут полагаться на полностью обновленное состояние.</p>
+<p>События <code>activate</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> для размещения в буфере функциональных событий таких как <code>fetch</code> и <code>push</code> пока обещание переданное в <code>waitUntil()</code> не завершится успешно. Это даёт service worker время, чтобы обновить схемы базы данных и удалить устаревшие {{domxref("Cache", "caches")}}, таким образом другие события могут полагаться на полностью обновлённое состояние.</p>
<p>Метод <code>waitUntil()</code> должен быть изначально вызван внутри колбэка события (<em>event callback</em>), но после этого он может быть вызван множество раз, до тех пор пока все обещания переданные в него не завершатся успешно.</p>
diff --git a/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html b/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html
index 2770db2a0f..f59ccb869f 100644
--- a/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html
+++ b/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html
@@ -3,7 +3,7 @@ title: Cross-global fetch usage
slug: Web/API/Fetch_API/Cross-global_fetch_usage
translation_of: Web/API/Fetch_API/Cross-global_fetch_usage
---
-<p class="summary">Эта статья объясняет крайний случай, который случается с fetch (и потенциально с другими API, предоставляющими такой же способ получения данных). Когда cross-origin fetch, включающий относительный URL, инициируется из {{htmlelement("iframe")}}, относительный URL может использовать текущий глобальный location вместо того что задается в iframe.</p>
+<p class="summary">Эта статья объясняет крайний случай, который случается с fetch (и потенциально с другими API, предоставляющими такой же способ получения данных). Когда cross-origin fetch, включающий относительный URL, инициируется из {{htmlelement("iframe")}}, относительный URL может использовать текущий глобальный location вместо того что задаётся в iframe.</p>
<h2 id="Крайний_случай">Крайний случай</h2>
@@ -22,7 +22,7 @@ translation_of: Web/API/Fetch_API/Cross-global_fetch_usage
<pre class="brush: js">let absolute = new URL(relative, window.location.href)</pre>
-<p>Это не проблема как таковая. Просто разные API, демонстрирующие такое поведение, делали его несовместимым с поведением, определенным в спецификации, что может привести к проблемам в дальнейшем.</p>
+<p>Это не проблема как таковая. Просто разные API, демонстрирующие такое поведение, делали его несовместимым с поведением, определённым в спецификации, что может привести к проблемам в дальнейшем.</p>
<h2 id="Решение">Решение</h2>
@@ -30,4 +30,4 @@ translation_of: Web/API/Fetch_API/Cross-global_fetch_usage
<pre class="brush: js">let absolute = new URL(relative, frame.contentWindow.location.href)</pre>
-<p>Ведется много дискуссий о том, как привести новые спецификации в соответствие с этим изменением поведения, для того чтобы уменьшить возможные проблемы в будущем.</p>
+<p>Ведётся много дискуссий о том, как привести новые спецификации в соответствие с этим изменением поведения, для того чтобы уменьшить возможные проблемы в будущем.</p>
diff --git a/files/ru/web/api/fetch_api/index.html b/files/ru/web/api/fetch_api/index.html
index 90942a2c13..a4d89b389b 100644
--- a/files/ru/web/api/fetch_api/index.html
+++ b/files/ru/web/api/fetch_api/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/Fetch_API
<h2 id="Определения_и_использование">Определения и использование</h2>
-<p>Fetch обеспечивает обобщенное определение объектов {{DOMxRef("Request")}} и {{DOMxRef("Response")}} (и других вещей, связанных с сетевыми запросами). Это позволит им использоваться везде, где необходимо в будущем, в том числе и для service workers, Cache API и других подобных технологий, которые обрабатывают или изменяют запросы (requests) и ответы (responses), а так же в любых других случаях, которые могут потребовать от вас генерировать свой собственный ответ программно.</p>
+<p>Fetch обеспечивает обобщённое определение объектов {{DOMxRef("Request")}} и {{DOMxRef("Response")}} (и других вещей, связанных с сетевыми запросами). Это позволит им использоваться везде, где необходимо в будущем, в том числе и для service workers, Cache API и других подобных технологий, которые обрабатывают или изменяют запросы (requests) и ответы (responses), а так же в любых других случаях, которые могут потребовать от вас генерировать свой собственный ответ программно.</p>
<p>Это также предоставляет определение в отношение таких понятий, как CORS и семантика заголовков HTTP origin, заменяя их обособленные определения где бы то ни было.</p>
@@ -36,7 +36,7 @@ translation_of: Web/API/Fetch_API
<ul>
<li>
- <p>Обещание, возвращенное из <code>fetch()</code>, <strong>не будет отвергнуто при статусе ошибки HTTP</strong>, даже если ответ является HTTP <code>404</code> или <code>500</code>. Вместо этого, оно будет разрешаться нормально (со статусом <code>ok</code> установленным в <code>false</code>), и будет отклоняться только при сбое в сети или если что-то помешало завершению запроса.</p>
+ <p>Обещание, возвращённое из <code>fetch()</code>, <strong>не будет отвергнуто при статусе ошибки HTTP</strong>, даже если ответ является HTTP <code>404</code> или <code>500</code>. Вместо этого, оно будет разрешаться нормально (со статусом <code>ok</code> установленным в <code>false</code>), и будет отклоняться только при сбое в сети или если что-то помешало завершению запроса.</p>
</li>
<li>
<p><code>fetch() </code>может получать межсайтовые куки-файлы; таким образом вы можете установить межсайтовую сессию используя <code>fetch</code>.</p>
@@ -48,7 +48,7 @@ translation_of: Web/API/Fetch_API
<h3 id="Прерывание_выборки">Прерывание выборки</h3>
-<p>Браузеры начали добавлять экспериментальную поддержку для {{domxref("AbortController")}} и {{domxref("AbortSignal")}} интерфейсов (aka The Abort API), которые позволяют прерывать операции, такие как Fetch и XHR, если они еще не завершены. Подробности смотрите на страницах интерфейсов.</p>
+<p>Браузеры начали добавлять экспериментальную поддержку для {{domxref("AbortController")}} и {{domxref("AbortSignal")}} интерфейсов (aka The Abort API), которые позволяют прерывать операции, такие как Fetch и XHR, если они ещё не завершены. Подробности смотрите на страницах интерфейсов.</p>
<h2 id="Fetch_интерфейсы">Fetch интерфейсы</h2>
diff --git a/files/ru/web/api/fetch_api/using_fetch/index.html b/files/ru/web/api/fetch_api/using_fetch/index.html
index f093df7ebf..77244b0d5a 100644
--- a/files/ru/web/api/fetch_api/using_fetch/index.html
+++ b/files/ru/web/api/fetch_api/using_fetch/index.html
@@ -10,7 +10,7 @@ translation_of: Web/API/Fetch_API/Using_Fetch
<p>Обратите внимание, <code>fetch</code> спецификация отличается от <code>jQuery.ajax()</code> в основном в двух пунктах:</p>
<ul>
- <li>Promise возвращаемый вызовом <code>fetch()</code> <strong>не перейдет в состояние "отклонено" из-за ответа HTTP, который считается ошибкой</strong>, даже если ответ HTTP 404 или 500.  Вместо этого, он будет выполнен нормально (с значением false в статусе <code>ok</code> ) и будет отклонён только при сбое сети или если что-то помешало запросу выполниться.</li>
+ <li>Promise возвращаемый вызовом <code>fetch()</code> <strong>не перейдёт в состояние "отклонено" из-за ответа HTTP, который считается ошибкой</strong>, даже если ответ HTTP 404 или 500.  Вместо этого, он будет выполнен нормально (с значением false в статусе <code>ok</code> ) и будет отклонён только при сбое сети или если что-то помешало запросу выполниться.</li>
<li>По умолчанию, <code>fetch</code> <strong>не будет отправлять или получать cookie файлы </strong>с сервера, в результате чего запросы будут осуществляться без проверки подлинности, что приведёт<span class="tlid-translation translation" lang="ru"><span title=""> к неаутентифицированным запросам</span></span>, если сайт полагается на проверку пользовательской сессии (для отправки cookie файлов в аргументе <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters">init options</a> должно быть задано значение свойства <em>credentials</em> отличное от значения по умолчанию <code>omit</code>).</li>
</ul>
@@ -76,7 +76,7 @@ postData('https://example.com/answer', { answer: 42 })
credentials: 'include'
})</code></pre>
-<p>Если вы хотите отправлять запрос с учетными данными только если URL принадлежит одному источнику (origin) что и вызывающий его скрипт, добавьте <code>credentials: 'same-origin'</code>.</p>
+<p>Если вы хотите отправлять запрос с учётными данными только если URL принадлежит одному источнику (origin) что и вызывающий его скрипт, добавьте <code>credentials: 'same-origin'</code>.</p>
<pre><code>// Вызывающий скрипт принадлежит источнику 'https://example.com'
@@ -316,7 +316,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre>
<h2 id="Объекты_ответа">Объекты ответа</h2>
-<p>Как вы видели выше, экземпляр {{domxref("Response")}} будет возвращен когда <code>fetch()</code> промис будет исполнен.</p>
+<p>Как вы видели выше, экземпляр {{domxref("Response")}} будет возвращён когда <code>fetch()</code> промис будет исполнен.</p>
<p>Свойства объекта-ответа которые чаще всего используются:</p>
@@ -371,7 +371,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre>
<li>{{domxref("Body.formData","formData()")}}</li>
</ul>
-<p>Это делает использование нетекстовых данных более легким, чем при XMR.</p>
+<p>Это делает использование нетекстовых данных более лёгким, чем при XMR.</p>
<p>В запросе можно установить параметры для отправки тела запроса:</p>
@@ -385,7 +385,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre>
<h2 id="Функция_обнаружения">Функция обнаружения</h2>
-<p>Поддержка Fetch API может быть обнаружена путем проверки наличия {{domxref("Headers")}}, {{domxref("Request")}}, {{domxref("Response")}} или {{domxref("GlobalFetch.fetch","fetch()")}} в области видимости {{domxref("Window")}} или {{domxref("Worker")}}. Для примера:</p>
+<p>Поддержка Fetch API может быть обнаружена путём проверки наличия {{domxref("Headers")}}, {{domxref("Request")}}, {{domxref("Response")}} или {{domxref("GlobalFetch.fetch","fetch()")}} в области видимости {{domxref("Window")}} или {{domxref("Worker")}}. Для примера:</p>
<pre class="brush: js">if (self.fetch) {
// запустить мой fetch запрос здесь
@@ -395,7 +395,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre>
<h2 id="Полифил">Полифил</h2>
-<p>Для того, чтобы использовать Fetch в неподдерживаемых браузерах, существует  <a href="https://github.com/github/fetch">Fetch Polyfill</a> , который воссоздает функциональность для не поддерживающих браузеров.</p>
+<p>Для того, чтобы использовать Fetch в неподдерживаемых браузерах, существует  <a href="https://github.com/github/fetch">Fetch Polyfill</a> , который воссоздаёт функциональность для не поддерживающих браузеров.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/fetchevent/index.html b/files/ru/web/api/fetchevent/index.html
index d0e2454f50..c95577b858 100644
--- a/files/ru/web/api/fetchevent/index.html
+++ b/files/ru/web/api/fetchevent/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/FetchEvent
<dl>
<dt>{{domxref("FetchEvent.FetchEvent()", "FetchEvent()")}}</dt>
- <dd>Создает новый объект <code>FetchEvent</code>. Как правило, данный конструктор не используется. Браузер самостоятельно создает данные объекты и передает их в обработчик событий <code>fetch</code>.</dd>
+ <dd>Создаёт новый объект <code>FetchEvent</code>. Как правило, данный конструктор не используется. Браузер самостоятельно создаёт данные объекты и передаёт их в обработчик событий <code>fetch</code>.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/file/filename/index.html b/files/ru/web/api/file/filename/index.html
index 912bfe49ca..6b236d1cf1 100644
--- a/files/ru/web/api/file/filename/index.html
+++ b/files/ru/web/api/file/filename/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/File/fileName
<h2 id="Summary">Summary</h2>
-<p>Возвращает имя файла. В целях безопасности путь исключен из этого свойства.</p>
+<p>Возвращает имя файла. В целях безопасности путь исключён из этого свойства.</p>
<div class="note">Это свойство исключено. Используйте вместо него  {{domxref("File.name")}}.</div>
@@ -25,7 +25,7 @@ translation_of: Web/API/File/fileName
<p>Не является частью документации.</p>
-<h2 id="Смотреть_еще">Смотреть еще</h2>
+<h2 id="Смотреть_ещё">Смотреть ещё</h2>
<ul>
<li>{{domxref("File.name")}}</li>
diff --git a/files/ru/web/api/file/using_files_from_web_applications/index.html b/files/ru/web/api/file/using_files_from_web_applications/index.html
index 32ef60dbff..e8469671bd 100644
--- a/files/ru/web/api/file/using_files_from_web_applications/index.html
+++ b/files/ru/web/api/file/using_files_from_web_applications/index.html
@@ -151,7 +151,7 @@ fileSelect.addEventListener("click", function (e) {
<p>Также вы можете предоставить пользователю возможность непосредственно перетаскивать файлы в ваше веб-приложение.</p>
-<p>На первом шаге необходимо определить зону, в которую будут перетаскиваться файлы. В каждом конкретном случае часть содержимого вашей страницы, ответственная за приемку перетаскиваемых файлов, может варьироваться в зависимости от дизайна приложения, тем не менее, заставить элемент воспринимать события перетаскивания достаточно просто:</p>
+<p>На первом шаге необходимо определить зону, в которую будут перетаскиваться файлы. В каждом конкретном случае часть содержимого вашей страницы, ответственная за приёмку перетаскиваемых файлов, может варьироваться в зависимости от дизайна приложения, тем не менее, заставить элемент воспринимать события перетаскивания достаточно просто:</p>
<pre class="brush: js notranslate">var dropbox;
@@ -189,7 +189,7 @@ function dragover(e) {
}
</pre>
-<p>Здесь мы извлекаем из события поле <code>dataTransfer</code>, затем вытаскиваем из него список файлов и передаем этот список в <code>handleFiles()</code>. После этого процесс обработки файлов одинаков вне зависимости от того, использовал ли пользователь для их выбора элемент <code>input</code> или технологию drag and drop.</p>
+<p>Здесь мы извлекаем из события поле <code>dataTransfer</code>, затем вытаскиваем из него список файлов и передаём этот список в <code>handleFiles()</code>. После этого процесс обработки файлов одинаков вне зависимости от того, использовал ли пользователь для их выбора элемент <code>input</code> или технологию drag and drop.</p>
<h2 id="Пример_Отображение_эскизов_изображений_выбранных_пользователем">Пример: Отображение эскизов изображений, выбранных пользователем</h2>
@@ -213,11 +213,11 @@ function dragover(e) {
}
</pre>
-<p>Здесь наш цикл обрабатывает выбранные пользователем файлы, проверяя атрибут <code>type</code> у каждого файла, чтобы определить является ли файл изображением (выполняется регулярное выражение в строке "<code>image.*</code>"). Для каждого файла, который является изображением, мы создаем новый <code>img</code> элемент. Можно использовать CSS для установки красивых рамок, теней, и указания размеров изображения, но здесь нет нужды делать этого.</p>
+<p>Здесь наш цикл обрабатывает выбранные пользователем файлы, проверяя атрибут <code>type</code> у каждого файла, чтобы определить является ли файл изображением (выполняется регулярное выражение в строке "<code>image.*</code>"). Для каждого файла, который является изображением, мы создаём новый <code>img</code> элемент. Можно использовать CSS для установки красивых рамок, теней, и указания размеров изображения, но здесь нет нужды делать этого.</p>
<p>Каждое изображение имеет CSS класс <code>obj</code> добавленный к нему для упрощения его поиска в DOM дереве. Мы также добавили атрибут <code>file</code> к каждому изображению, указав {{ domxref("File") }} ; это позволит нам получить изображения для фактической загрузки позже. Наконец, мы используем {{ domxref("Node.appendChild()") }} для того, чтобы добавить новый эскиз в область предпросмотра нашего документа.</p>
-<p>Затем мы устанавливаем {{ domxref("FileReader") }} для обработки асинхронной загрузки изображения и прикрепления его к <code>img</code> элементу. После создания нового объекта <code>FileReader</code>, мы настраиваем его функцию <code>onload</code>, затем вызываем <code>readAsDataURL()</code> для запуска операции чтения в фоновом режиме. Когда всё содержимое файла изображения загружено, они преобразуют его в <code>data:</code> URL, который передается в колбэк <code>onload</code> . Наша реализация этой процедуры просто устанавливает атрибут <code>src</code> у элемента <code>img</code> загруженного изображения, в результате чего миниатюра изображения появляется на экране пользователя.</p>
+<p>Затем мы устанавливаем {{ domxref("FileReader") }} для обработки асинхронной загрузки изображения и прикрепления его к <code>img</code> элементу. После создания нового объекта <code>FileReader</code>, мы настраиваем его функцию <code>onload</code>, затем вызываем <code>readAsDataURL()</code> для запуска операции чтения в фоновом режиме. Когда всё содержимое файла изображения загружено, они преобразуют его в <code>data:</code> URL, который передаётся в колбэк <code>onload</code> . Наша реализация этой процедуры просто устанавливает атрибут <code>src</code> у элемента <code>img</code> загруженного изображения, в результате чего миниатюра изображения появляется на экране пользователя.</p>
<h2 id="Использование_URLs_объектов">Использование URLs объектов</h2>
@@ -227,7 +227,7 @@ function dragover(e) {
<pre class="brush: js notranslate"><code>var objectURL = window.URL.createObjectURL(fileObj);</code></pre>
-<p>URL объекта <span lang="EN-US" style='font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%;'>–</span> это строка, идентифицирующая объект файла {{ domxref("File") }}. Каждый раз при вызове {{ domxref("window.URL.createObjectURL()") }}, создается новый уникальный объект URL, даже если вы уже создали объект URL для этого файла. Каждый из них должен быть освобожден. В то время как они освобождаются автоматически когда документ выгружается, если ваша страница использует их динамически, вы должны освободить их явно вызовом {{ domxref("window.URL.revokeObjectURL()") }}:</p>
+<p>URL объекта <span lang="EN-US" style='font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%;'>–</span> это строка, идентифицирующая объект файла {{ domxref("File") }}. Каждый раз при вызове {{ domxref("window.URL.createObjectURL()") }}, создаётся новый уникальный объект URL, даже если вы уже создали объект URL для этого файла. Каждый из них должен быть освобождён. В то время как они освобождаются автоматически когда документ выгружается, если ваша страница использует их динамически, вы должны освободить их явно вызовом {{ domxref("window.URL.revokeObjectURL()") }}:</p>
<pre class="brush: js notranslate"><code>window.URL.revokeObjectURL(objectURL);</code></pre>
@@ -290,12 +290,12 @@ function handleFiles(files) {
<p>Если объект {{ domxref("FileList") }}, передаваемый в <code>handleFiles()</code> является <code>null</code>, то мы просто устанавливаем внутренний HTML блока в отображение текста "No files selected!". Иначе мы начинаем строить список файлов таким образом:</p>
<ol>
- <li>Создается новый элемент - неупорядоченный список ({{ HTMLElement("ul") }}).</li>
+ <li>Создаётся новый элемент - неупорядоченный список ({{ HTMLElement("ul") }}).</li>
<li>Этот новый элемент вставляется в блок {{ HTMLElement("div") }} с помощью вызова его метода {{ domxref("element.appendChild()") }}.</li>
<li>Для каждого {{ domxref("File") }} в {{ domxref("FileList") }}, представляемого <code>files</code>:
<ol>
- <li>Создаем новый элемент пункта списка ({{ HTMLElement("li") }}) и вставляем его в список.</li>
- <li>Создаем новый элемент изображения ({{ HTMLElement("img") }}).</li>
+ <li>Создаём новый элемент пункта списка ({{ HTMLElement("li") }}) и вставляем его в список.</li>
+ <li>Создаём новый элемент изображения ({{ HTMLElement("img") }}).</li>
<li>Устанавливаем источник изображения в новый URL объекта, представляющий файл, используя {{ domxref("window.URL.createObjectURL()") }} для создания URL на двоичный объект.</li>
<li>Устанавливаем высоту изображения в 60 пикселей.</li>
<li>Устанавливаем обработчик события загрузки изображения для освобождения URL объекта, т.к. после загрузки изображения он больше не нужен. Это делается вызовом метода {{ domxref("window.URL.revokeObjectURL()") }}, передавая в него строку URL объекта, которая указана в <code>img.src</code>.</li>
@@ -306,11 +306,11 @@ function handleFiles(files) {
<h2 id="Пример_Загрузка_файла_выбранного_пользователем">Пример: Загрузка файла, выбранного пользователем</h2>
-<p>Еще одна вещь, которую вы можете захотеть сделать <span lang="EN-US" style='font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%;'>–</span> это позволить пользователю загрузить выбранный файл или файлы (такие, как изображения из предыдущего примера) на сервер. Это можно сделать асинхронно довольно просто.</p>
+<p>Ещё одна вещь, которую вы можете захотеть сделать <span lang="EN-US" style='font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%;'>–</span> это позволить пользователю загрузить выбранный файл или файлы (такие, как изображения из предыдущего примера) на сервер. Это можно сделать асинхронно довольно просто.</p>
<h3 id="Создание_заданий_на_загрузку">Создание заданий на загрузку</h3>
-<p>Продолжая пример с кодом, который строил эскизы в предыдущем примере, напомним, что каждому изображению эскиза присвоен класс CSS class <code>obj</code>, с соответствующим {{ domxref("File") }}, прикрепленным в атрибут <code>file</code>. Это позволяет нам очень просто выбрать все изображения, которые пользователь выбрал для загрузки используя {{ domxref("Document.querySelectorAll()") }}, как показано здесь:</p>
+<p>Продолжая пример с кодом, который строил эскизы в предыдущем примере, напомним, что каждому изображению эскиза присвоен класс CSS class <code>obj</code>, с соответствующим {{ domxref("File") }}, прикреплённым в атрибут <code>file</code>. Это позволяет нам очень просто выбрать все изображения, которые пользователь выбрал для загрузки используя {{ domxref("Document.querySelectorAll()") }}, как показано здесь:</p>
<pre class="brush: js notranslate">function sendFiles() {
var imgs = document.querySelectorAll(".obj");
@@ -354,7 +354,7 @@ function handleFiles(files) {
reader.readAsBinaryString(file);
}</pre>
-<p>Функция <code>FileUpload()</code>, показанная выше, создает объект Throbber, который используется для отображения хода загрузки, а затем создает {{ domxref("XMLHttpRequest") }} для управления загрузкой данных.</p>
+<p>Функция <code>FileUpload()</code>, показанная выше, создаёт объект Throbber, который используется для отображения хода загрузки, а затем создаёт {{ domxref("XMLHttpRequest") }} для управления загрузкой данных.</p>
<p>Перед началом загрузки данных выполняются несколько шагов для подготовки:</p>
@@ -427,7 +427,7 @@ if (isset($_FILES['myFile'])) {
<h2 id="Пример_Использование_URL_объектов_для_отображения_PDF">Пример: Использование URL объектов для отображения PDF</h2>
-<p>URL объектов могут быть использованы не только для изображений! Также этот прием можно использовать и для других ресурсов, которые могут отображаться браузером, например, файлы PDF.</p>
+<p>URL объектов могут быть использованы не только для изображений! Также этот приём можно использовать и для других ресурсов, которые могут отображаться браузером, например, файлы PDF.</p>
<p>В Firefox, для того чтобы файл PDF появился в iframe и не предлагался для загрузки, нужно установить <code>pdfjs.disabled</code> в значение <code>false</code> {{non-standard_inline()}}.</p>
@@ -443,7 +443,7 @@ window.URL.revokeObjectURL(obj_url);</pre>
<h2 id="Пример_Использование_URL_объектов_с_другими_типами_файлов">Пример: Использование URL объектов с другими типами файлов</h2>
-<p>Вы можете таким же образом работать с файлами в других форматах. Ниже приведен пример как загружается видео:</p>
+<p>Вы можете таким же образом работать с файлами в других форматах. Ниже приведён пример как загружается видео:</p>
<pre class="brush: js notranslate">var video = document.getElementById('video');
var obj_url = window.URL.createObjectURL(blob);
diff --git a/files/ru/web/api/file_and_directory_entries_api/index.html b/files/ru/web/api/file_and_directory_entries_api/index.html
index 91bafe1bfb..76d7fe3a46 100644
--- a/files/ru/web/api/file_and_directory_entries_api/index.html
+++ b/files/ru/web/api/file_and_directory_entries_api/index.html
@@ -26,12 +26,12 @@ translation_of: Web/API/File_and_Directory_Entries_API
<p>Существуют два очень похожих API в зависимости от того, хотите ли вы асинхронного или синхронного поведения. Синхронный API предназначен для использования внутри {{domxref("Worker")}} и будет возвращать желаемые значения. Асинхронный API не будет блокировать выполнение кода, а API не будет возвращать значения; вместо этого вам нужно будет предоставить колбэк-функцию для обработки одного или нескольких ответов.</p>
<div class="warning">
-<p>Firefox реализация File System API очень ограничена: не поддерживается создание файлов. Доступ к файлам осуществляется только через {{HTMLElement("input")}} элемент (см. так же {{domxref("HTMLInputElement")}}) или путем перетаскивания файла/папки (<a href="/en-US/docs/Web/API/HTML_Drag_and_Drop_API">drag and drop</a>). Firefox также не реализует синхронный API. Внимательно проверьте совместимость браузера для любой части API, которую вы используете. ( см. <a href="/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support">Поддержка File System API в Firefox</a>)</p>
+<p>Firefox реализация File System API очень ограничена: не поддерживается создание файлов. Доступ к файлам осуществляется только через {{HTMLElement("input")}} элемент (см. так же {{domxref("HTMLInputElement")}}) или путём перетаскивания файла/папки (<a href="/en-US/docs/Web/API/HTML_Drag_and_Drop_API">drag and drop</a>). Firefox также не реализует синхронный API. Внимательно проверьте совместимость браузера для любой части API, которую вы используете. ( см. <a href="/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support">Поддержка File System API в Firefox</a>)</p>
</div>
<h2 id="Получение_доступа_к_файловой_системе">Получение доступа к файловой системе</h2>
-<p>Есть два способа получить доступ к файловой системе, определенным в текущем проекте спецификации:</p>
+<p>Есть два способа получить доступ к файловой системе, определённым в текущем проекте спецификации:</p>
<ul>
<li>При обработке события {{event("drop")}} вы можете вызвать {{domxref("DataTransferItem.webkitGetAsEntry()")}} что бы получить {{domxref("FileSystemEntry")}} для "брошенного" элемента. Если результат не <code>null</code>, то это брошенный файл или каталог, и вы можете использовать вызовы файловой системы для работы с ним.</li>
@@ -52,9 +52,9 @@ translation_of: Web/API/File_and_Directory_Entries_API
<dt>{{domxref("FileSystemDirectoryEntry")}}</dt>
<dd>Представляет отдельный каталог в файловой системе.</dd>
<dt>{{domxref("FileSystemDirectoryReader")}}</dt>
- <dd>Созданный путем вызова {{domxref("FileSystemDirectoryEntry.createReader()")}}, этот интерфейс предоставляет функции, которые позволяют вам читать содержимое каталога.</dd>
+ <dd>Созданный путём вызова {{domxref("FileSystemDirectoryEntry.createReader()")}}, этот интерфейс предоставляет функции, которые позволяют вам читать содержимое каталога.</dd>
<dt>{{domxref("FileSystemFlags")}}</dt>
- <dd>Определяет набор значений, которые используются при указании флагов опций при вызове определенных методов в <a href="https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API">File System API</a>.</dd>
+ <dd>Определяет набор значений, которые используются при указании флагов опций при вызове определённых методов в <a href="https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API">File System API</a>.</dd>
<dt>{{domxref("FileError")}}</dt>
<dd>Представляет ошибку, которая возникает при вызовах асинхронной файловой системы.</dd>
</dl>
@@ -63,7 +63,7 @@ translation_of: Web/API/File_and_Directory_Entries_API
<h2 id="Синхронный_API">Синхронный API</h2>
-<p>Синхронный API следует использовать только в {{domxref("Worker")}}-ах; эти вызовы блокируются до тех пор, пока не закончат свое выполнение, и просто возвращают результаты вместо использования колбэков. Использование их в основном потоке заблокирует браузер, что непослушно. В противном случае интерфейсы ниже отражают интерфейсы асинхронного API.</p>
+<p>Синхронный API следует использовать только в {{domxref("Worker")}}-ах; эти вызовы блокируются до тех пор, пока не закончат своё выполнение, и просто возвращают результаты вместо использования колбэков. Использование их в основном потоке заблокирует браузер, что непослушно. В противном случае интерфейсы ниже отражают интерфейсы асинхронного API.</p>
<dl>
<dt>{{domxref("FileSystemSync")}}</dt>
@@ -75,7 +75,7 @@ translation_of: Web/API/File_and_Directory_Entries_API
<dt>{{domxref("FileSystemDirectoryEntrySync")}}</dt>
<dd>Представляет отдельный каталог в файловой системе.</dd>
<dt>{{domxref("FileSystemDirectoryReaderSync")}}</dt>
- <dd>Созданный путем вызова {{domxref("FileSystemDirectoryEntrySync.createReader()")}}, этот интерфейс предоставляет функции, которые позволяют вам читать содержимое каталога.</dd>
+ <dd>Созданный путём вызова {{domxref("FileSystemDirectoryEntrySync.createReader()")}}, этот интерфейс предоставляет функции, которые позволяют вам читать содержимое каталога.</dd>
<dt>{{domxref("FileException")}}</dt>
<dd>Представляет ошибку, которая возникает при вызовах синхронной файловой системы.</dd>
</dl>
diff --git a/files/ru/web/api/file_and_directory_entries_api/introduction/index.html b/files/ru/web/api/file_and_directory_entries_api/introduction/index.html
index fba2cad5c7..bd5a67aa08 100644
--- a/files/ru/web/api/file_and_directory_entries_api/introduction/index.html
+++ b/files/ru/web/api/file_and_directory_entries_api/introduction/index.html
@@ -8,7 +8,7 @@ original_slug: Web/API/File_and_Directory_Entries_API/Введение
<p><span class="seoSummary">API файлов и каталогов эмулирует для веб-приложений локальную файловую систему. У вас есть возможность создания приложений, которые могут читать, записывать и создавать файлы и директории в изолированной виртуальной файловой системе.</span></p>
-<p>API файлов и каталогов взаимодействует с другими API. Оно было создано на основе File Writer API, который в свою очередь использует File API. Каждое API реализует разную функциональность. Данные программные интерфейсы являются огромным эволюционным скачком для веб-приложений, которые теперь могут кешировать и обрабатывать большие объемы данных. </p>
+<p>API файлов и каталогов взаимодействует с другими API. Оно было создано на основе File Writer API, который в свою очередь использует File API. Каждое API реализует разную функциональность. Данные программные интерфейсы являются огромным эволюционным скачком для веб-приложений, которые теперь могут кешировать и обрабатывать большие объёмы данных. </p>
<h2 id="Об_этом_документе">Об этом документе</h2>
@@ -37,7 +37,7 @@ original_slug: Web/API/File_and_Directory_Entries_API/Введение
<h3 id="API_файлов_и_каталогов_и_другие_программные_интерфейсы_хранения_данных">API файлов и каталогов и другие программные интерфейсы хранения данных</h3>
-<p>API файлов и каталогов является альтернативой для других интерфейсов хранения данных, таких как <a href="https://developer.mozilla.org/en/IndexedDB/Basic_Concepts_Behind_IndexedDB">IndexedDB</a>, WebSQL (признано устаревшим с 18 ноября 2010 г.) и AppCache. Тем не менее данное API является более хорошим выбором для приложений, обрабатывающим большие объемы данных, по следующим причинам:</p>
+<p>API файлов и каталогов является альтернативой для других интерфейсов хранения данных, таких как <a href="https://developer.mozilla.org/en/IndexedDB/Basic_Concepts_Behind_IndexedDB">IndexedDB</a>, WebSQL (признано устаревшим с 18 ноября 2010 г.) и AppCache. Тем не менее данное API является более хорошим выбором для приложений, обрабатывающим большие объёмы данных, по следующим причинам:</p>
<ul>
<li>Данное API предлагает возможность хранения данных на стороне клиента в вариантах использования, которые не могут быть решены с помощью баз данных. Например, данное API является намного более производительным в случае хранения и обработки больших файлов.</li>
@@ -52,7 +52,7 @@ original_slug: Web/API/File_and_Directory_Entries_API/Введение
<ul>
<li>Приложения с постоянной загрузкой.
<ul>
- <li>Когда файл или каталог выбран для загрузки на сервер, есть возможность скопировать файлы в локальную песочницу и начать их поочередную загрузку. </li>
+ <li>Когда файл или каталог выбран для загрузки на сервер, есть возможность скопировать файлы в локальную песочницу и начать их поочерёдную загрузку. </li>
<li>Приложение может продолжить загрузку после закрытия или аварийного сбоя браузера, прерывание связи или завершения работы компьютера.</li>
</ul>
</li>
diff --git a/files/ru/web/api/filereader/index.html b/files/ru/web/api/filereader/index.html
index a65044776d..42cf4ee917 100644
--- a/files/ru/web/api/filereader/index.html
+++ b/files/ru/web/api/filereader/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/FileReader
<h2 id="Общая_информация">Общая информация</h2>
-<p>Объект <code>FileReader</code> позволяет веб-приложениям асинхронно читать содержимое файлов (или буферы данных), хранящиеся на компьютере пользователя, используя объекты {{domxref("File")}} или {{domxref("Blob")}}, с помощью которых задается файл или данные для чтения.</p>
+<p>Объект <code>FileReader</code> позволяет веб-приложениям асинхронно читать содержимое файлов (или буферы данных), хранящиеся на компьютере пользователя, используя объекты {{domxref("File")}} или {{domxref("Blob")}}, с помощью которых задаётся файл или данные для чтения.</p>
<p>Объекты <code>File</code> можно получить через объект {{domxref("FileList")}}, который возвращается как результат при выборе файлов пользователем с помощью элемента {{HTMLElement("input")}}, через drag and drop из объекта {{domxref("DataTransfer")}}, или с помощью <code>mozGetAsFile()</code>, метода доступного в API элемента {{domxref("HTMLCanvasElement")}}.</p>
@@ -37,7 +37,7 @@ translation_of: Web/API/FileReader
<dt>{{domxref("FileReader.readyState")}} {{readonlyinline}}</dt>
<dd>Число обозначающее состояние объекта <code>FileReader</code>. Принимает одно из значений {{ anch("State constants") }}.</dd>
<dt>{{domxref("FileReader.result")}} {{readonlyinline}}</dt>
- <dd>Данные из файла. Значение свойства действительно только когда завершится операция чтения, причем формат данных зависит от способа, с помощью которого процесс был вызван.</dd>
+ <dd>Данные из файла. Значение свойства действительно только когда завершится операция чтения, причём формат данных зависит от способа, с помощью которого процесс был вызван.</dd>
</dl>
<h3 id="Обработка_событий">Обработка событий</h3>
@@ -64,7 +64,7 @@ translation_of: Web/API/FileReader
<h3 id="State_constants" name="State_constants">Константы состояния</h3>
<ul>
- <li><code>EMPTY </code> : <code>0</code> : Данные еще не были загружены.</li>
+ <li><code>EMPTY </code> : <code>0</code> : Данные ещё не были загружены.</li>
<li><code>LOADING</code> : <code>1</code> : Данные в данный момент загружаются.</li>
<li><code>DONE </code> : <code>2</code> : Операция чтения была завершена.</li>
</ul>
@@ -118,7 +118,7 @@ translation_of: Web/API/FileReader
<ul>
<li>В версиях Gecko ниже 2.0 beta 7 (Firefox 4.0 beta 7), все параметры {{ domxref("Blob") }} были параметрами {{ domxref("File") }}; в последствии это было изменено, для соответствия спецификации.</li>
- <li>В версиях Gecko ниже 13.0 {{ geckoRelease("13.0") }} свойство <code>FileReader.error</code> возвращало объект {{ domxref("FileError") }}. Этот интерфейс был упразднен и теперь свойство <code>FileReader.error</code> возвращает объект {{ domxref("DOMError") }}, что соответствует определению FileAPI последней спецификации.</li>
+ <li>В версиях Gecko ниже 13.0 {{ geckoRelease("13.0") }} свойство <code>FileReader.error</code> возвращало объект {{ domxref("FileError") }}. Этот интерфейс был упразднён и теперь свойство <code>FileReader.error</code> возвращает объект {{ domxref("DOMError") }}, что соответствует определению FileAPI последней спецификации.</li>
</ul>
<h2 id="See_also" name="See_also">См. также</h2>
diff --git a/files/ru/web/api/filereader/readasarraybuffer/index.html b/files/ru/web/api/filereader/readasarraybuffer/index.html
index da7fd56e8c..29fb2d3cb5 100644
--- a/files/ru/web/api/filereader/readasarraybuffer/index.html
+++ b/files/ru/web/api/filereader/readasarraybuffer/index.html
@@ -97,7 +97,7 @@ translation_of: Web/API/FileReader/readAsArrayBuffer
</table>
</div>
-<p>[1] До Gecko 2.0 beta 7 (Firefox 4.0 beta 7), все {{domxref("Blob")}} параметры были {{domxref("File")}} параметрами; были произведены изменения<span id="result_box" lang="ru"><span class="alt-edited"> для</span> <span class="alt-edited">удовлетворения условий</span> <span class="alt-edited">спецификации</span></span>. До Gecko 13.0 {{geckoRelease("13.0")}}<code> свойство FileReader.error</code> возвращало объект {{domxref("FileError")}}. Этот интерфейс был удален и теперь <code>FileReader.error</code> возвращает объект {{domxref("DOMError")}} как это определено в последнем черновике FileAPI.</p>
+<p>[1] До Gecko 2.0 beta 7 (Firefox 4.0 beta 7), все {{domxref("Blob")}} параметры были {{domxref("File")}} параметрами; были произведены изменения<span id="result_box" lang="ru"><span class="alt-edited"> для</span> <span class="alt-edited">удовлетворения условий</span> <span class="alt-edited">спецификации</span></span>. До Gecko 13.0 {{geckoRelease("13.0")}}<code> свойство FileReader.error</code> возвращало объект {{domxref("FileError")}}. Этот интерфейс был удалён и теперь <code>FileReader.error</code> возвращает объект {{domxref("DOMError")}} как это определено в последнем черновике FileAPI.</p>
<p>[2] IE9 имеет <a href="http://html5labs.interoperabilitybridges.com/prototypes/fileapi/fileapi/info">File API Lab</a>.</p>
diff --git a/files/ru/web/api/filereader/readasbinarystring/index.html b/files/ru/web/api/filereader/readasbinarystring/index.html
index 4f4f5cb6a2..30bd9dfb31 100644
--- a/files/ru/web/api/filereader/readasbinarystring/index.html
+++ b/files/ru/web/api/filereader/readasbinarystring/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/FileReader/readAsBinaryString
---
<div>{{APIRef("File API")}} {{non-standard_header}}</div>
-<p>Метод <code>readAsBinaryString</code> используется для начала считывания содержимого определенного как {{domxref("Blob")}} или {{domxref("File")}}. Когда операция чтения завершится {{domxref("FileReader.readyState","readyState")}} становится <code>DONE</code>, и срабатывает {{event("loadend")}} . В это время атрибут {{domxref("FileReader.result","result")}} содержит сырые бинарные данные из файла.</p>
+<p>Метод <code>readAsBinaryString</code> используется для начала считывания содержимого определённого как {{domxref("Blob")}} или {{domxref("File")}}. Когда операция чтения завершится {{domxref("FileReader.readyState","readyState")}} становится <code>DONE</code>, и срабатывает {{event("loadend")}} . В это время атрибут {{domxref("FileReader.result","result")}} содержит сырые бинарные данные из файла.</p>
<p>Заметьте, что этот метод  устарел (12 July 2012 Working Draft from the W3C.)</p>
@@ -48,7 +48,7 @@ canvas.toBlob(function (blob) {
<h2 id="Спецификации">Спецификации</h2>
-<p>Этот метод был удален из стандарта FileAPI. Вместо него следует использовать {{domxref("FileReader.readAsArrayBuffer()")}}.</p>
+<p>Этот метод был удалён из стандарта FileAPI. Вместо него следует использовать {{domxref("FileReader.readAsArrayBuffer()")}}.</p>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
diff --git a/files/ru/web/api/fontface/index.html b/files/ru/web/api/fontface/index.html
index 7769abe93e..2b7a991c7e 100644
--- a/files/ru/web/api/fontface/index.html
+++ b/files/ru/web/api/fontface/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/FontFace
<dl>
<dt>{{domxref("FontFace.FontFace", "FontFace()")}}</dt>
- <dd>Создает и возвращает новый объект <code>FontFace</code>, созданный из внешнего ресурса, описанного  URL-адресом или из {{domxref("ArrayBuffer")}}.</dd>
+ <dd>Создаёт и возвращает новый объект <code>FontFace</code>, созданный из внешнего ресурса, описанного  URL-адресом или из {{domxref("ArrayBuffer")}}.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/formdata/append/index.html b/files/ru/web/api/formdata/append/index.html
index 6e3b43a2b1..dcaf2440f4 100644
--- a/files/ru/web/api/formdata/append/index.html
+++ b/files/ru/web/api/formdata/append/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/FormData/append
---
<p>{{APIRef("XMLHttpRequest")}}</p>
-<p>Метод <code><strong>append()</strong></code> из интерфейса {{domxref("FormData")}} добавляет новое значение в существующий ключ внутри объекта <code>FormData</code>, или создает ключ, в случае если он отсутствует.</p>
+<p>Метод <code><strong>append()</strong></code> из интерфейса {{domxref("FormData")}} добавляет новое значение в существующий ключ внутри объекта <code>FormData</code>, или создаёт ключ, в случае если он отсутствует.</p>
<p>Разница между {{domxref("FormData.set")}} и <code>append()</code> в том, что если заданный ключ уже существует, {{domxref("FormData.set")}} заменит данные в нем на новые, а <code>append()</code> добавит новое значение к остальным в конец.</p>
@@ -26,9 +26,9 @@ formData.append(name, value, filename);</pre>
<dt><code>name</code></dt>
<dd>Имя поля, которое будет содержать данные из <code>value</code>.</dd>
<dt><code>value</code></dt>
- <dd>Значение поля. В варианте с двумя параметрами, это является {{domxref("USVString")}}, если значение не является строкой, то оно будет в нее конвертировано. В варианте с тремя параметрами это может быть {{domxref("Blob")}}, {{domxref("File")}}, или {{domxref("USVString")}}, И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.</dd>
+ <dd>Значение поля. В варианте с двумя параметрами, это является {{domxref("USVString")}}, если значение не является строкой, то оно будет в неё конвертировано. В варианте с тремя параметрами это может быть {{domxref("Blob")}}, {{domxref("File")}}, или {{domxref("USVString")}}, И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.</dd>
<dt><code>filename </code>{{optional_inline}}</dt>
- <dd>Имя файла которое будет отправлено серверу ({{domxref("USVString")}}), когда {{domxref("Blob")}} или {{domxref("File")}} прошел проверку как второй параметр. Стандартное имя файла для {{domxref("Blob")}} объектов это "blob".</dd>
+ <dd>Имя файла которое будет отправлено серверу ({{domxref("USVString")}}), когда {{domxref("Blob")}} или {{domxref("File")}} прошёл проверку как второй параметр. Стандартное имя файла для {{domxref("Blob")}} объектов это "blob".</dd>
</dl>
<div class="note">
@@ -41,7 +41,7 @@ formData.append(name, value, filename);</pre>
<h2 id="Пример">Пример</h2>
-<p>Данная строка кода создает пустой <code>FormData</code> объект:</p>
+<p>Данная строка кода создаёт пустой <code>FormData</code> объект:</p>
<pre class="brush: js">var formData = new FormData(); // Currently empty</pre>
diff --git a/files/ru/web/api/formdata/delete/index.html b/files/ru/web/api/formdata/delete/index.html
index f4c6db339c..51ed9731aa 100644
--- a/files/ru/web/api/formdata/delete/index.html
+++ b/files/ru/web/api/formdata/delete/index.html
@@ -28,7 +28,7 @@ translation_of: Web/API/FormData/delete
<h2 id="Пример">Пример</h2>
-<p>Следующий код создает объект <code>FormData</code> и заполняет его парами "ключ"/"значение" из формы:</p>
+<p>Следующий код создаёт объект <code>FormData</code> и заполняет его парами "ключ"/"значение" из формы:</p>
<pre class="brush: js">var formData = new FormData(myForm);</pre>
diff --git a/files/ru/web/api/formdata/formdata/index.html b/files/ru/web/api/formdata/formdata/index.html
index 260388230f..fde13d802a 100644
--- a/files/ru/web/api/formdata/formdata/index.html
+++ b/files/ru/web/api/formdata/formdata/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/FormData/FormData
---
<p>{{APIRef("XMLHttpRequest")}}</p>
-<p>Конструктор <code><strong>FormData()</strong></code> создает новые объект {{domxref("FormData")}}, если проще - HTML-форму<strong>.</strong></p>
+<p>Конструктор <code><strong>FormData()</strong></code> создаёт новые объект {{domxref("FormData")}}, если проще - HTML-форму<strong>.</strong></p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -59,7 +59,7 @@ console.log(
<pre class="brush: js">formData.get(name);
</pre>
-<p>Проверка на наличие определенного элемента формы:</p>
+<p>Проверка на наличие определённого элемента формы:</p>
<pre class="brush: js">formData.has(name);</pre>
diff --git a/files/ru/web/api/formdata/get/index.html b/files/ru/web/api/formdata/get/index.html
index df52182d7b..d5f2d497df 100644
--- a/files/ru/web/api/formdata/get/index.html
+++ b/files/ru/web/api/formdata/get/index.html
@@ -28,7 +28,7 @@ translation_of: Web/API/FormData/get
<h2 id="Пример">Пример</h2>
-<p>Следующий код создает пустой объект <code>FormData</code>:</p>
+<p>Следующий код создаёт пустой объект <code>FormData</code>:</p>
<pre class="brush: js">var formData = new FormData();</pre>
@@ -60,7 +60,7 @@ formData.append('username', 'Кирилл');</pre>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести исправления, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести исправления, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
<p>{{Compat("api.FormData.get")}}</p>
diff --git a/files/ru/web/api/formdata/getall/index.html b/files/ru/web/api/formdata/getall/index.html
index 24e12c408b..e2294811bf 100644
--- a/files/ru/web/api/formdata/getall/index.html
+++ b/files/ru/web/api/formdata/getall/index.html
@@ -39,7 +39,7 @@ formData.append('username', 'Кирилл');</pre>
<p>Тогда метод <code>getAll()</code> вернёт оба значения <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">username</span></font> в виде массива:</p>
-<pre class="brush: js notranslate">formData.getAll('username'); // Вернет ["Борис", "Кирилл"]</pre>
+<pre class="brush: js notranslate">formData.getAll('username'); // Вернёт ["Борис", "Кирилл"]</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/formdata/index.html b/files/ru/web/api/formdata/index.html
index d41f05327f..f523a5957c 100644
--- a/files/ru/web/api/formdata/index.html
+++ b/files/ru/web/api/formdata/index.html
@@ -65,14 +65,14 @@ translation_of: Web/API/FormData
<tr>
<td>{{SpecName('XMLHttpRequest','#interface-formdata','FormData')}}</td>
<td>{{Spec2('XMLHttpRequest')}}</td>
- <td>FormData определен в XHR spec</td>
+ <td>FormData определён в XHR spec</td>
</tr>
</tbody>
</table>
<h2 id="Совместимость">Совместимость</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на слияние.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на слияние.</div>
<p>{{Compat("api.FormData")}}</p>
diff --git a/files/ru/web/api/formdata/set/index.html b/files/ru/web/api/formdata/set/index.html
index e07505b0f1..e8af25b8de 100644
--- a/files/ru/web/api/formdata/set/index.html
+++ b/files/ru/web/api/formdata/set/index.html
@@ -28,7 +28,7 @@ formData.set(name, value, filename);</pre>
<dt><code>value</code></dt>
<dd>Значение, присваиваемое полю. В варианте с двумя параметрами, это <a class="new" href="https://developer.mozilla.org/ru/docs/Web/API/USVString" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>USVString</code></a>, если нет, то оно будет конвертировано. В варианте с тремя параметрами это может быть <a href="https://developer.mozilla.org/ru/docs/Web/API/Blob" title="Объект Blob представляет из себя объект наподобие файла с неизменяемыми, сырыми данными. Blob-ы представляют данные, которые могут быть не в родном формате JavaScript. Интерфейс File основан на Blob, наследует функциональность Blob и расширяет его для поддержки файлов на системе пользователя."><code>Blob</code></a>, <a href="https://developer.mozilla.org/ru/docs/Web/API/File" title="Интерфейс File представляет информацию о файлах и предоставляет JavaScript в веб странице доступ к их контенту."><code>File</code></a>, или <a class="new" href="https://developer.mozilla.org/ru/docs/Web/API/USVString" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>USVString</code></a>, И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.</dd>
<dt><code>filename </code>{{optional_inline}}</dt>
- <dd>Имя файла, которое будет отправлено серверу (<a class="new" href="https://developer.mozilla.org/ru/docs/Web/API/USVString" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>USVString</code></a>), когда <a href="https://developer.mozilla.org/ru/docs/Web/API/Blob" title="Объект Blob представляет из себя объект наподобие файла с неизменяемыми, сырыми данными. Blob-ы представляют данные, которые могут быть не в родном формате JavaScript. Интерфейс File основан на Blob, наследует функциональность Blob и расширяет его для поддержки файлов на системе пользователя."><code>Blob</code></a> или <a href="https://developer.mozilla.org/ru/docs/Web/API/File" title="Интерфейс File представляет информацию о файлах и предоставляет JavaScript в веб странице доступ к их контенту."><code>File</code></a> прошел проверку как второй параметр. Стандартное имя файла для <a href="https://developer.mozilla.org/ru/docs/Web/API/Blob" title="Объект Blob представляет из себя объект наподобие файла с неизменяемыми, сырыми данными. Blob-ы представляют данные, которые могут быть не в родном формате JavaScript. Интерфейс File основан на Blob, наследует функциональность Blob и расширяет его для поддержки файлов на системе пользователя."><code>Blob</code></a> объектов это "blob".</dd>
+ <dd>Имя файла, которое будет отправлено серверу (<a class="new" href="https://developer.mozilla.org/ru/docs/Web/API/USVString" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>USVString</code></a>), когда <a href="https://developer.mozilla.org/ru/docs/Web/API/Blob" title="Объект Blob представляет из себя объект наподобие файла с неизменяемыми, сырыми данными. Blob-ы представляют данные, которые могут быть не в родном формате JavaScript. Интерфейс File основан на Blob, наследует функциональность Blob и расширяет его для поддержки файлов на системе пользователя."><code>Blob</code></a> или <a href="https://developer.mozilla.org/ru/docs/Web/API/File" title="Интерфейс File представляет информацию о файлах и предоставляет JavaScript в веб странице доступ к их контенту."><code>File</code></a> прошёл проверку как второй параметр. Стандартное имя файла для <a href="https://developer.mozilla.org/ru/docs/Web/API/Blob" title="Объект Blob представляет из себя объект наподобие файла с неизменяемыми, сырыми данными. Blob-ы представляют данные, которые могут быть не в родном формате JavaScript. Интерфейс File основан на Blob, наследует функциональность Blob и расширяет его для поддержки файлов на системе пользователя."><code>Blob</code></a> объектов это "blob".</dd>
</dl>
<div class="note">
@@ -37,7 +37,7 @@ formData.set(name, value, filename);</pre>
<h2 id="Пример">Пример</h2>
-<p>Следующий код создает пустой <code>FormData</code> объект:</p>
+<p>Следующий код создаёт пустой <code>FormData</code> объект:</p>
<pre class="brush: js">var formData = new FormData(); // Сейчас пустой</pre>
diff --git a/files/ru/web/api/gamepad/buttons/index.html b/files/ru/web/api/gamepad/buttons/index.html
index 90665213fb..a789d8d152 100644
--- a/files/ru/web/api/gamepad/buttons/index.html
+++ b/files/ru/web/api/gamepad/buttons/index.html
@@ -22,7 +22,7 @@ translation_of: Web/API/Gamepad/buttons
<h2 id="Пример">Пример</h2>
-<p>Приведенный код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете  <a href="http://chrisdavidmills.github.io/gamepad-buttons/" rel="noopener">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master" rel="noopener">посмотреть исходники на GitHub</a>). Важно — в Chrome <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> необходимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в  Firefox <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> нет необходимости устанавливать префикс, и значения будут представлять собой массив  объектов <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton"><code>GamepadButton</code></a>; Свойство <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/value" rel="nofollow"><code>GamepadButton.value</code></a> или <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/pressed" rel="nofollow"><code>GamepadButton.pressed</code></a> необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p>
+<p>Приведённый код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете  <a href="http://chrisdavidmills.github.io/gamepad-buttons/" rel="noopener">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master" rel="noopener">посмотреть исходники на GitHub</a>). Важно — в Chrome <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> необходимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в  Firefox <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> нет необходимости устанавливать префикс, и значения будут представлять собой массив  объектов <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton"><code>GamepadButton</code></a>; Свойство <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/value" rel="nofollow"><code>GamepadButton.value</code></a> или <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/pressed" rel="nofollow"><code>GamepadButton.pressed</code></a> необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p>
<pre class="brush: js notranslate">function gameLoop() {
if(navigator.webkitGetGamepads) {
diff --git a/files/ru/web/api/gamepad/connected/index.html b/files/ru/web/api/gamepad/connected/index.html
index 8170c0f537..9e2188d733 100644
--- a/files/ru/web/api/gamepad/connected/index.html
+++ b/files/ru/web/api/gamepad/connected/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/Gamepad/connected
---
<p>{{APIRef("Gamepad API")}}</p>
-<p>Свойство <code><strong>Gamepad.connected</strong></code> интерфейса {{domxref("Gamepad") }} возвращает логическое значение того, подключен ли всё ещё геймпад к системе.</p>
+<p>Свойство <code><strong>Gamepad.connected</strong></code> интерфейса {{domxref("Gamepad") }} возвращает логическое значение того, подключён ли всё ещё геймпад к системе.</p>
-<p>Если геймпад подключен - значение равно <code>true</code>; если нет - <code>false</code>.</p>
+<p>Если геймпад подключён - значение равно <code>true</code>; если нет - <code>false</code>.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/gamepad/id/index.html b/files/ru/web/api/gamepad/id/index.html
index ef66df6574..66be8d6484 100644
--- a/files/ru/web/api/gamepad/id/index.html
+++ b/files/ru/web/api/gamepad/id/index.html
@@ -7,14 +7,14 @@ translation_of: Web/API/Gamepad/id
<p>Свойство<strong> <code>Gamepad.id</code></strong> интерфейса {{domxref("Gamepad") }} возвращает строку, содержащую некоторую информацию о контроллере.</p>
-<p>Существующий синтаксис не стандартизирован, но в Firefox эта строка представляет собой три значения, разделенные тире (<code>-</code>):</p>
+<p>Существующий синтаксис не стандартизирован, но в Firefox эта строка представляет собой три значения, разделённые тире (<code>-</code>):</p>
<ul>
- <li>Две четырехзначных шестнадцатеричных строки, содержащих USB vendor id (<code>VID</code>) и product id (<code>PID</code>) контроллера</li>
+ <li>Две четырёхзначных шестнадцатеричных строки, содержащих USB vendor id (<code>VID</code>) и product id (<code>PID</code>) контроллера</li>
<li>Имя контроллера, предоставленное драйвером.</li>
</ul>
-<p>Например, PS2 контроллер вернет <code><strong>810-3-USB Gamepad</strong></code>.</p>
+<p>Например, PS2 контроллер вернёт <code><strong>810-3-USB Gamepad</strong></code>.</p>
<p>Эта информация позволяет вам найти соответствие для элементов управления контроллера, а также, отобразить полезную информацию для пользователя.</p>
diff --git a/files/ru/web/api/gamepad/index.html b/files/ru/web/api/gamepad/index.html
index 2059e361da..376c436448 100644
--- a/files/ru/web/api/gamepad/index.html
+++ b/files/ru/web/api/gamepad/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Gamepad
<p>Интерфейс <strong><code>Gamepad</code></strong> <a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a> определяет отдельный геймпад или контроллер, предоставляющий доступ к такой информации, как: нажатие кнопок, позиции осей, и id.</p>
-<p>Объект <code>Gamepad</code> может быть возвращен в одном из двух случаев: как свойство <code>gamepad</code> событий {{event("gamepadconnected")}} и {{event("gamepaddisconnected")}}, или считыванием любой позиции в массиве, возвращенном методом {{domxref("Navigator.getGamepads()")}}.</p>
+<p>Объект <code>Gamepad</code> может быть возвращён в одном из двух случаев: как свойство <code>gamepad</code> событий {{event("gamepadconnected")}} и {{event("gamepaddisconnected")}}, или считыванием любой позиции в массиве, возвращённом методом {{domxref("Navigator.getGamepads()")}}.</p>
<h2 id="Свойства">Свойства</h2>
@@ -17,11 +17,11 @@ translation_of: Web/API/Gamepad
<dt>{{domxref("Gamepad.id")}} {{readonlyInline}}</dt>
<dd>{{domxref("DOMString")}} содержит идентификационную информацию о контроллере.</dd>
<dt>{{domxref("Gamepad.index")}} {{readonlyInline}}</dt>
- <dd>Целое автоинкрементируемое значение, уникальное для каждого устройства, подключенного в данный момент к системе.</dd>
+ <dd>Целое автоинкрементируемое значение, уникальное для каждого устройства, подключённого в данный момент к системе.</dd>
<dt>{{domxref("Gamepad.mapping")}} {{readonlyInline}}</dt>
<dd>Строка, указывающая, переназначил ли браузер элементы управления устройства на уже известный шаблон.</dd>
<dt>{{domxref("Gamepad.connected")}} {{readonlyInline}}</dt>
- <dd>Логическое свойство показывающее, подключен ли геймпад к системе в данный момент.</dd>
+ <dd>Логическое свойство показывающее, подключён ли геймпад к системе в данный момент.</dd>
<dt>{{domxref("Gamepad.buttons")}} {{readonlyInline}}</dt>
<dd>Массив объектов {{domxref("gamepadButton")}} представляющих кнопки устройства.</dd>
<dt>{{domxref("Gamepad.axes")}} {{readonlyInline}}</dt>
diff --git a/files/ru/web/api/gamepad/index/index.html b/files/ru/web/api/gamepad/index/index.html
index 2e51e57342..e1022410b4 100644
--- a/files/ru/web/api/gamepad/index/index.html
+++ b/files/ru/web/api/gamepad/index/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/Gamepad/index
---
<div>{{APIRef("Gamepad API")}}</div>
-<p>Свойство <code><strong>Gamepad.index</strong></code> интерфейса {{domxref("Gamepad") }} возвращает целое автоинкрементируемое значение, уникальное для каждого устройства, подключенного к системе.</p>
+<p>Свойство <code><strong>Gamepad.index</strong></code> интерфейса {{domxref("Gamepad") }} возвращает целое автоинкрементируемое значение, уникальное для каждого устройства, подключённого к системе.</p>
-<p>Это может быть полезно для распознавания нескольких контроллеров; отключенный, и подключенный заново геймпад, будет иметь тот же индекс.</p>
+<p>Это может быть полезно для распознавания нескольких контроллеров; отключённый, и подключённый заново геймпад, будет иметь тот же индекс.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/gamepad_api/index.html b/files/ru/web/api/gamepad_api/index.html
index 482b9e484c..553d593424 100644
--- a/files/ru/web/api/gamepad_api/index.html
+++ b/files/ru/web/api/gamepad_api/index.html
@@ -17,9 +17,9 @@ translation_of: Web/API/Gamepad_API
<dl>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad" title="The Gamepad interface of the Gamepad API defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id."><code>Gamepad</code></a></dt>
- <dd>Представляет собой геймпад/контроллер, подключенный к компьютеру.</dd>
+ <dd>Представляет собой геймпад/контроллер, подключённый к компьютеру.</dd>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadButton" title="The GamepadButton interface defines an individual button of a gamepad or other controller, allowing access to the current state of different types of buttons available on the control device."><code>GamepadButton</code></a></dt>
- <dd>Представляет собой кнопку одного из подключенных контроллеров</dd>
+ <dd>Представляет собой кнопку одного из подключённых контроллеров</dd>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadEvent" title="The GamepadEvent interface of the Gamepad API contains references to gamepads connected to the system, which is what the gamepad events Window.gamepadconnected and Window.gamepaddisconnected are fired in response to."><code>GamepadEvent</code></a></dt>
<dd>Объект события, представляющий запущенные события, связанные с геймпадами.</dd>
</dl>
@@ -30,7 +30,7 @@ translation_of: Web/API/Gamepad_API
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator" title="The GamepadHapticActuator interface of the Gamepad API represents hardware in the controller designed to provide haptic feedback to the user (if available), most commonly vibration hardware."><code>GamepadHapticActuator</code></a></dt>
<dd>Представляет собой аппаратное обеспечение в контроллере, предназначенное для обеспечения тактильной обратной связи с пользователем (если таковая имеется), чаще всего вибрационное оборудование.</dd>
<dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadPose" title="The GamepadPose interface of the Gamepad API represents the pose of a WebVR controller at a given timestamp (which includes orientation, position, velocity, and acceleration information.)"><code>GamepadPose</code></a></dt>
- <dd>Представляет собой позу контроллера (например, положение и ориентацию в трехмерном пространстве) в случае контроллера WebVR. Это не используется в более новом стандарте WebXR.</dd>
+ <dd>Представляет собой позу контроллера (например, положение и ориентацию в трёхмерном пространстве) в случае контроллера WebVR. Это не используется в более новом стандарте WebXR.</dd>
</dl>
<p>Сморите также <a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad#Experimental_extensions_to_Gamepad">extensions to the Gamepad interface</a> (расширения интерфейса геймпада) для функций, которые позволяют получить доступ к вышеуказанной информации.</p>
@@ -41,7 +41,7 @@ translation_of: Web/API/Gamepad_API
<dl>
<dt>{{domxref("Navigator.getGamepads()")}}</dt>
- <dd>Расширение объекта {{domxref("Navigator")}}, возвращающее массив объектов {{domxref("Gamepad")}} по одному для каждого подключенного геймпада.</dd>
+ <dd>Расширение объекта {{domxref("Navigator")}}, возвращающее массив объектов {{domxref("Gamepad")}} по одному для каждого подключённого геймпада.</dd>
</dl>
<h4 id="События_окна">События окна</h4>
@@ -87,7 +87,7 @@ translation_of: Web/API/Gamepad_API
<h2 id="Совместимость_браузера">Совместимость браузера</h2>
-<div class="hidden">Таблица совместимости на этой странице создается на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте: <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте: <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
<p>{{Compat("api.Gamepad")}}</p>
diff --git a/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html b/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html
index 5db5305cc8..6bdbe4b071 100644
--- a/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html
+++ b/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html
@@ -7,14 +7,14 @@ translation_of: Web/API/Gamepad_API/Using_the_Gamepad_API
<p><span class="seoSummary">HTML5 представляет большое количество необходимых компонентов для полной и интерактивной разработки игр. Такие технологии, как <code>&lt;canvas&gt;</code>, WebGL, <code>&lt;audio&gt;</code>, и <code>&lt;video&gt;</code>, вместе с Javascript сейчас поддерживают большое количество задач, для которых раньше требовались нативные программы.  Gamepad API - это способ получения данных с геймпада и других игровых контроллеров. </span></p>
-<p><a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a> добавляет в  объект {{ domxref("Window") }}  новые события для получения событий контроллера. Дополнительно к этим событиям, API также добавляет объект {{ domxref("Gamepad") }}, который позволяет получить  состояние подключенного контроллера, и метод {{ domxref("navigator.getGamepads()") }} который позволяет получить все контроллеры, определенные на странице браузера.</p>
+<p><a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a> добавляет в  объект {{ domxref("Window") }}  новые события для получения событий контроллера. Дополнительно к этим событиям, API также добавляет объект {{ domxref("Gamepad") }}, который позволяет получить  состояние подключённого контроллера, и метод {{ domxref("navigator.getGamepads()") }} который позволяет получить все контроллеры, определённые на странице браузера.</p>
<h2 id="conntecting" name="conntecting">Подключение геймпада</h2>
-<p>Когда новый  геймпад подключается, на странице срабатывают события  {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }}. Если геймпад уже был подключен к моменту загрузки страницы, события  {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }} сработают, когда пользователь нажмет на любую кнопку или передвинет стики. </p>
+<p>Когда новый  геймпад подключается, на странице срабатывают события  {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }}. Если геймпад уже был подключён к моменту загрузки страницы, события  {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }} сработают, когда пользователь нажмёт на любую кнопку или передвинет стики. </p>
<div class="blockIndicator geckoVersionNote">
-<p>В Firefox геймпад определяется только тогда, когда пользователь взаимодействует с ним, и при этом страница видна и в фокусе. Это помогает предотвратить использование геймпадов для идентификации пользователя. После взаимодействия с одним геймпадом другие подключенные геймпады будут автоматически видны.</p>
+<p>В Firefox геймпад определяется только тогда, когда пользователь взаимодействует с ним, и при этом страница видна и в фокусе. Это помогает предотвратить использование геймпадов для идентификации пользователя. После взаимодействия с одним геймпадом другие подключённые геймпады будут автоматически видны.</p>
</div>
<p>Вы можете использовать  {{domxref("Window/gamepadconnected_event", "gamepadconnected")}} как в примере:</p>
diff --git a/files/ru/web/api/gamepadbutton/index.html b/files/ru/web/api/gamepadbutton/index.html
index a704963ab2..5aaad8795f 100644
--- a/files/ru/web/api/gamepadbutton/index.html
+++ b/files/ru/web/api/gamepadbutton/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/GamepadButton
<div>Интерфейс <code><strong>GamepadButton</strong></code> определяет отдельную кнопку геймпада или другого контроллера, позволяя получить доступ к текущему состоянию различных типов кнопок, доступных на устройстве</div>
-<p>Объект <strong><code>GamepadButton</code></strong> возвращается путем получения любого элемента в массиве <code>buttons</code>, который является свойством интерфейса {{domxref("Gamepad")}}.</p>
+<p>Объект <strong><code>GamepadButton</code></strong> возвращается путём получения любого элемента в массиве <code>buttons</code>, который является свойством интерфейса {{domxref("Gamepad")}}.</p>
<div class="note">
<p><strong>Note</strong>: Это работает только в  Firefox Gecko 28 и выше;  Chrome и более ранние версии  Firefox по-прежнему возвращают массив чисел с плавающей точкой</p>
@@ -24,7 +24,7 @@ translation_of: Web/API/GamepadButton
<h2 id="Пример">Пример</h2>
-<p>Приведенный код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете  <a href="http://chrisdavidmills.github.io/gamepad-buttons/">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master">посмотреть исходники на GitHub</a>). Важно — в Chrome {{domxref("Navigator.getGamepads")}} необходимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в  Firefox {{domxref("Navigator.getGamepads")}} нет необходимости устанавливать префикс, и значения будут представлять собой массив  объектов {{domxref("GamepadButton")}}; Свойство {{domxref("GamepadButton.value")}} или {{domxref("GamepadButton.pressed")}} необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p>
+<p>Приведённый код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете  <a href="http://chrisdavidmills.github.io/gamepad-buttons/">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master">посмотреть исходники на GitHub</a>). Важно — в Chrome {{domxref("Navigator.getGamepads")}} необходимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в  Firefox {{domxref("Navigator.getGamepads")}} нет необходимости устанавливать префикс, и значения будут представлять собой массив  объектов {{domxref("GamepadButton")}}; Свойство {{domxref("GamepadButton.value")}} или {{domxref("GamepadButton.pressed")}} необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p>
<pre class="brush: js notranslate">function gameLoop() {
if(navigator.webkitGetGamepads) {
diff --git a/files/ru/web/api/gamepadevent/index.html b/files/ru/web/api/gamepadevent/index.html
index b0317ba076..707c5b2685 100644
--- a/files/ru/web/api/gamepadevent/index.html
+++ b/files/ru/web/api/gamepadevent/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/GamepadEvent
---
<p>{{APIRef("Gamepad API")}}</p>
-<p><code>GamepadEvent</code> интерфейс {{ domxref("Gamepad API")}} содержит ссылки на геймпады, подключенные к системе, передающиеся при возникновении событий <a href="/ru/docs/Web/Events/gamepadconnected">Window.gamepadconnected</a> и <a href="/ru/docs/Web/Events/gamepaddisconnected">Window.gamepaddisconnected</a>.</p>
+<p><code>GamepadEvent</code> интерфейс {{ domxref("Gamepad API")}} содержит ссылки на геймпады, подключённые к системе, передающиеся при возникновении событий <a href="/ru/docs/Web/Events/gamepadconnected">Window.gamepadconnected</a> и <a href="/ru/docs/Web/Events/gamepaddisconnected">Window.gamepaddisconnected</a>.</p>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/geolocation_api/index.html b/files/ru/web/api/geolocation_api/index.html
index 3fcf298e7b..b9eadf1fda 100644
--- a/files/ru/web/api/geolocation_api/index.html
+++ b/files/ru/web/api/geolocation_api/index.html
@@ -10,7 +10,7 @@ original_slug: Web/API/Geolocation/Using_geolocation
---
<div>{{securecontext_header}}{{DefaultAPISidebar("Geolocation API")}}</div>
-<p><strong>Geolocation API</strong> позволяет пользователю предоставлять свое местоположение web-приложению, если пользователь согласится предоставить его. Из соображений конфиденциальности, у пользователя будет запрошено разрешение на предоставление информации о местоположении.</p>
+<p><strong>Geolocation API</strong> позволяет пользователю предоставлять своё местоположение web-приложению, если пользователь согласится предоставить его. Из соображений конфиденциальности, у пользователя будет запрошено разрешение на предоставление информации о местоположении.</p>
<h2 id="Концепты_и_использование">Концепты и использование</h2>
diff --git a/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html b/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html
index e7884d5784..c8d5463e7b 100644
--- a/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html
+++ b/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html
@@ -10,7 +10,7 @@ original_slug: Web/API/Geolocation/Using_geolocation/Using_the_Geolocation_API
---
<div>{{securecontext_header}}{{DefaultAPISidebar("Geolocation API")}}</div>
-<p>Geolocation API позволяет пользователю предоставлять свое местоположение web-приложению, если пользователь согласится предоставить его. Из соображений конфиденциальности, у пользователя будет запрошено разрешение на предоставление информации о местоположении.</p>
+<p>Geolocation API позволяет пользователю предоставлять своё местоположение web-приложению, если пользователь согласится предоставить его. Из соображений конфиденциальности, у пользователя будет запрошено разрешение на предоставление информации о местоположении.</p>
<h2 id="Объект_геолокации">Объект геолокации</h2>
@@ -41,7 +41,7 @@ original_slug: Web/API/Geolocation/Using_geolocation/Using_the_Geolocation_API
<h3 id="Наблюдение_за_текущим_местоположением">Наблюдение за текущим местоположением</h3>
-<p>Если данные о местоположении меняются (либо устройство находится в движении, либо пришли более точные данные о геопозиции), вы можете указать callback функцию, которая будет вызывается при любом обновлении данных о местоположении. Это делается с использованием функции {{domxref("Geolocation.watchPosition()","watchPosition()")}}, которая имеет несколько входных параметров: {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}}. Эта функция вызывается много раз, позволяя браузеру обновлять данные о текущей локации либо во время движения, либо после получения более точной информации о местоположении (после применения более точных приемов). Функция, которая вызывается при ошибке, для {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}}, при желании, может быть вызвана неоднократно.</p>
+<p>Если данные о местоположении меняются (либо устройство находится в движении, либо пришли более точные данные о геопозиции), вы можете указать callback функцию, которая будет вызывается при любом обновлении данных о местоположении. Это делается с использованием функции {{domxref("Geolocation.watchPosition()","watchPosition()")}}, которая имеет несколько входных параметров: {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}}. Эта функция вызывается много раз, позволяя браузеру обновлять данные о текущей локации либо во время движения, либо после получения более точной информации о местоположении (после применения более точных приёмов). Функция, которая вызывается при ошибке, для {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}}, при желании, может быть вызвана неоднократно.</p>
<div class="note">
<p><strong>Примечание:</strong> Вы можете использовать {{domxref("Geolocation.watchPosition()","watchPosition()")}} без вызова {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}}.</p>
diff --git a/files/ru/web/api/geolocationcoordinates/index.html b/files/ru/web/api/geolocationcoordinates/index.html
index 11e04a464e..b8ed73803d 100644
--- a/files/ru/web/api/geolocationcoordinates/index.html
+++ b/files/ru/web/api/geolocationcoordinates/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/GeolocationCoordinates
---
<div>{{securecontext_header}}{{APIRef("Geolocation API")}}</div>
-<p>Интерфейс <strong><code>Coordinates</code></strong> отображает позицию устройства и его высоту над уровнем моря с расчетным уровнем точности.</p>
+<p>Интерфейс <strong><code>Coordinates</code></strong> отображает позицию устройства и его высоту над уровнем моря с расчётным уровнем точности.</p>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/geolocationpositionerror/index.html b/files/ru/web/api/geolocationpositionerror/index.html
index 55b2df9bf1..43ff2bceeb 100644
--- a/files/ru/web/api/geolocationpositionerror/index.html
+++ b/files/ru/web/api/geolocationpositionerror/index.html
@@ -34,7 +34,7 @@ translation_of: Web/API/GeolocationPositionError
<tr>
<td><code>3</code></td>
<td><code>TIMEOUT</code></td>
- <td>Время, разрешенное для получения геолокации, определяется {{domxref ("PositionOptions.timeout")}} информация была достигнута до получения информации.</td>
+ <td>Время, разрешённое для получения геолокации, определяется {{domxref ("PositionOptions.timeout")}} информация была достигнута до получения информации.</td>
</tr>
</tbody>
</table>
diff --git a/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html b/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html
index 91a6e2bc07..c0c5fc87d8 100644
--- a/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html
+++ b/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html
@@ -74,7 +74,7 @@ translation_of: Web/API/GlobalEventHandlers/onanimationcancel
 </pre>
</div>
-<p>Опустим некоторые фрагменты CSS, не имеющие значение для нас, и рассмотрим стили для элемента, который мы анимируем. Это блок box со всеми своими свойствами, включая определенную анимацию {{cssxref("animation")}}. Мы продолжим и опишем анимацию прямо здесь, поскольку обычно она должна запускаться непосредственно при загрузке страницы, не зависимо от какого-либо другого события. </p>
+<p>Опустим некоторые фрагменты CSS, не имеющие значение для нас, и рассмотрим стили для элемента, который мы анимируем. Это блок box со всеми своими свойствами, включая определённую анимацию {{cssxref("animation")}}. Мы продолжим и опишем анимацию прямо здесь, поскольку обычно она должна запускаться непосредственно при загрузке страницы, не зависимо от какого-либо другого события. </p>
<pre class="brush: css">#box {
width: var(--boxwidth);
@@ -106,7 +106,7 @@ translation_of: Web/API/GlobalEventHandlers/onanimationcancel
}
</pre>
-<p>Поскольку анимация описывается как бесконечное число раз, поочередное попеременное направление, поле будет скользить назад и вперед между двумя углами до тех пор, пока не остановится или страница не будет закрыта.</p>
+<p>Поскольку анимация описывается как бесконечное число раз, поочерёдное попеременное направление, поле будет скользить назад и вперёд между двумя углами до тех пор, пока не остановится или страница не будет закрыта.</p>
<h3 id="JavaScript_content">JavaScript content</h3>
diff --git a/files/ru/web/api/globaleventhandlers/onerror/index.html b/files/ru/web/api/globaleventhandlers/onerror/index.html
index 327a7d0d06..e870db3c68 100644
--- a/files/ru/web/api/globaleventhandlers/onerror/index.html
+++ b/files/ru/web/api/globaleventhandlers/onerror/index.html
@@ -39,7 +39,7 @@ translation_of: Web/API/GlobalEventHandlers/onerror
<pre class="brush: js">// Пример 1:
// Предотвращает диалоги об ошибках, отображает какая это функция окна, это нормальное
-// поведение - путем переопределения обработчика событий по умолчанию для событий об ошибках, которые
+// поведение - путём переопределения обработчика событий по умолчанию для событий об ошибках, которые
// переходят окну.
window.onerror = null;
diff --git a/files/ru/web/api/globaleventhandlers/onloadend/index.html b/files/ru/web/api/globaleventhandlers/onloadend/index.html
index 75b770e20e..6b25052a7f 100644
--- a/files/ru/web/api/globaleventhandlers/onloadend/index.html
+++ b/files/ru/web/api/globaleventhandlers/onloadend/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/GlobalEventHandlers/onloadend
---
<div>{{ApiRef}}</div>
-<p><span id="result_box" lang="ru"><span>Свойство</span></span> <strong><code>onloadend</code></strong>  <span id="result_box" lang="ru"><span>от </span></span>{{domxref("GlobalEventHandlers")}} примесь {{domxref("EventHandler")}} <span id="result_box" lang="ru"><span>передает код для вызова в момент возникновения события</span></span> {{event("loadend")}}  (когда процесс загрузки ресурса окончился и остановился)</p>
+<p><span id="result_box" lang="ru"><span>Свойство</span></span> <strong><code>onloadend</code></strong>  <span id="result_box" lang="ru"><span>от </span></span>{{domxref("GlobalEventHandlers")}} примесь {{domxref("EventHandler")}} <span id="result_box" lang="ru"><span>передаёт код для вызова в момент возникновения события</span></span> {{event("loadend")}}  (когда процесс загрузки ресурса окончился и остановился)</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/gyroscope/index.html b/files/ru/web/api/gyroscope/index.html
index 83aca0334c..3399281c0c 100644
--- a/files/ru/web/api/gyroscope/index.html
+++ b/files/ru/web/api/gyroscope/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Gyroscope
---
<div>{{APIRef("Gyroscope")}}</div>
-<p><span class="seoSummary"><strong><code>Gyroscope</code></strong> интерфейс <a href="/docs/Web/API/Sensor_APIs">Sensor API</a> дает возможность считать позицию устройства по всем трем осям.</span></p>
+<p><span class="seoSummary"><strong><code>Gyroscope</code></strong> интерфейс <a href="/docs/Web/API/Sensor_APIs">Sensor API</a> даёт возможность считать позицию устройства по всем трём осям.</span></p>
<p>Для использования того сенсора пользователю нужно предоставить доступ устройства к <code>'gyroscope'</code> через {{domxref('Permissions')}} API.</p>
diff --git a/files/ru/web/api/history/go/index.html b/files/ru/web/api/history/go/index.html
index 6612072c73..c214626c13 100644
--- a/files/ru/web/api/history/go/index.html
+++ b/files/ru/web/api/history/go/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/History/go
---
<div>{{APIRef("History API")}}</div>
-<p>Метод <strong><code>History.go()</code></strong> выполняет переход на определенную страницу в истории текущей сессии. С его помощью можно перемещаться как вперед, так и назад, в зависимости от значения параметра.</p>
+<p>Метод <strong><code>History.go()</code></strong> выполняет переход на определённую страницу в истории текущей сессии. С его помощью можно перемещаться как вперёд, так и назад, в зависимости от значения параметра.</p>
<p>Данный метод является {{glossary("asynchronous", "асинхронным")}}. Добавьте обработчик для события {{event("popstate")}}, чтобы определить, когда переход закончен.</p>
@@ -23,7 +23,7 @@ translation_of: Web/API/History/go
<dl>
<dt><code>delta</code> {{optional_inline}}</dt>
- <dd>Относительное положение в истории, куда вы хотите переместиться. Отрицательные значения перемещают назад, а положительные -- вперед. Например, <code>history.go(2)</code> перемещает вперед на 2 страницы, а <code>history.go(-2)</code> перемещает на 2 страницы назад. Если метод вызван без параметра или же <code>delta</code> равна 0, результат выполнения будет такой же, как у <code>location.reload()</code>.</dd>
+ <dd>Относительное положение в истории, куда вы хотите переместиться. Отрицательные значения перемещают назад, а положительные -- вперёд. Например, <code>history.go(2)</code> перемещает вперёд на 2 страницы, а <code>history.go(-2)</code> перемещает на 2 страницы назад. Если метод вызван без параметра или же <code>delta</code> равна 0, результат выполнения будет такой же, как у <code>location.reload()</code>.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
@@ -32,11 +32,11 @@ translation_of: Web/API/History/go
<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">history<span class="punctuation token">.</span><span class="function token">go</span><span class="punctuation token">(</span><span class="operator token">-</span><span class="number token">1</span><span class="punctuation token">)</span></code></pre>
-<p>Перемещение на страницу вперед, как {{domxref("History.forward", "forward()")}}:</p>
+<p>Перемещение на страницу вперёд, как {{domxref("History.forward", "forward()")}}:</p>
<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">history<span class="punctuation token">.</span><span class="function token">go</span><span class="punctuation token">(</span><span class="number token">1</span><span class="punctuation token">)</span></code></pre>
-<p>Перемещение на 2 страницы вперед:</p>
+<p>Перемещение на 2 страницы вперёд:</p>
<pre class="brush: js notranslate">history.go(2);</pre>
diff --git a/files/ru/web/api/history/index.html b/files/ru/web/api/history/index.html
index 5418220959..c49ae6d791 100644
--- a/files/ru/web/api/history/index.html
+++ b/files/ru/web/api/history/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/History
---
<p>{{ APIRef("HTML DOM") }}</p>
-<p><em><strong>History</strong> интерфейс позволяет манипулировать историей браузера в пределах сессии, а именно историей о посещенных страницах в пределах вкладки или фрейма загруженного внутри страницы. </em></p>
+<p><em><strong>History</strong> интерфейс позволяет манипулировать историей браузера в пределах сессии, а именно историей о посещённых страницах в пределах вкладки или фрейма загруженного внутри страницы. </em></p>
<h2 id="Свойства">Свойства</h2>
@@ -39,17 +39,17 @@ translation_of: Web/API/History
</dd>
<dt>{{domxref("History.go()")}}</dt>
<dd>
- <p>Загружает страницу из истории сессии, определяя ее положение относительно текущей страницы, например: -1 для предыдущей страницы или 1 для следующей страницы. Когда <em>integerDelta</em> выходит за предел (например, -1, когда нет ранее посещенных страниц в истории сессии), метод не делает ничего, и не вызывает исключение. Вызов Go () без параметров или с не целочисленным аргументом не имеет никакого эффекта (в отличие от Internet Explorer, <a href="http://msdn.microsoft.com/en-us/library/ms536443(VS.85).aspx">который поддерживает строки URL в качестве аргумента</a>).</p>
+ <p>Загружает страницу из истории сессии, определяя её положение относительно текущей страницы, например: -1 для предыдущей страницы или 1 для следующей страницы. Когда <em>integerDelta</em> выходит за предел (например, -1, когда нет ранее посещённых страниц в истории сессии), метод не делает ничего, и не вызывает исключение. Вызов Go () без параметров или с не целочисленным аргументом не имеет никакого эффекта (в отличие от Internet Explorer, <a href="http://msdn.microsoft.com/en-us/library/ms536443(VS.85).aspx">который поддерживает строки URL в качестве аргумента</a>).</p>
</dd>
<dt>{{domxref("History.pushState()")}} {{ gecko_minversion_inline("2.0") }}</dt>
- <dd>Помещает полученные данные в стек истории сессии с определенным заголовком и, при наличии , URL. Данные рассматриваются DOM как непрозрачные; Вы можете задать любой объект JavaScript, который может быть сериализован. Обратите внимание, что в настоящее время Firefox игнорирует параметр заголовка; для получения дополнительной информации см.<a href="/en/DOM/Manipulating_the_browser_history"> управление историей браузера</a>.
+ <dd>Помещает полученные данные в стек истории сессии с определённым заголовком и, при наличии , URL. Данные рассматриваются DOM как непрозрачные; Вы можете задать любой объект JavaScript, который может быть сериализован. Обратите внимание, что в настоящее время Firefox игнорирует параметр заголовка; для получения дополнительной информации см.<a href="/en/DOM/Manipulating_the_browser_history"> управление историей браузера</a>.
<div class="note"><strong>Примечание:</strong> В Gecko 2.0 {{ geckoRelease("2.0") }} до Gecko 5.0 {{ geckoRelease("5.0") }}, передаваемый объект сериарилизовался в JSON. Начиная с Gecko 6.0 {{ geckoRelease("6.0") }}, объект обрабатывается по <a href="https://developer.mozilla.org/ru/docs/Web/API/Web_Workers_API/Structured_clone_algorithm" title="Алгоритм структурированного клонирования">алгоритму структурированного клонирования</a>. Он позволяет передавать более широкое разнообразие объектов.</div>
</dd>
</dl>
<dl>
<dt>{{domxref("History.replaceState()")}} {{ gecko_minversion_inline("2.0") }}</dt>
- <dd>Обновляет последнюю запись в стеке истории содержащий определенные данные, заголовок и, при наличии, URL. Данные рассматриваются DOM как непрозрачные; Вы можете задать любой объект JavaScript, который может быть сериализован. Обратите внимание, что в настоящее время Firefox игнорирует параметр заголовка; для получения дополнительной информации см.<a href="/en/DOM/Manipulating_the_browser_history"> управление историей браузера</a>.
+ <dd>Обновляет последнюю запись в стеке истории содержащий определённые данные, заголовок и, при наличии, URL. Данные рассматриваются DOM как непрозрачные; Вы можете задать любой объект JavaScript, который может быть сериализован. Обратите внимание, что в настоящее время Firefox игнорирует параметр заголовка; для получения дополнительной информации см.<a href="/en/DOM/Manipulating_the_browser_history"> управление историей браузера</a>.
<div class="note"><strong>Примечание:</strong> В Gecko 2.0 {{ geckoRelease("2.0") }} до Gecko 5.0 {{ geckoRelease("5.0") }}, передаваемый объект сериарилизовался в JSON. Начиная с Gecko 6.0 {{ geckoRelease("6.0") }}, объект обрабатывается по <a href="https://developer.mozilla.org/ru/docs/Web/API/Web_Workers_API/Structured_clone_algorithm" title="Алгоритм структурированного клонирования">алгоритму структурированного клонирования</a>. Он позволяет передавать более широкое разнообразие объектов.</div>
</dd>
</dl>
diff --git a/files/ru/web/api/history/state/index.html b/files/ru/web/api/history/state/index.html
index 3faaa8676a..82b65cd3f7 100644
--- a/files/ru/web/api/history/state/index.html
+++ b/files/ru/web/api/history/state/index.html
@@ -15,11 +15,11 @@ translation_of: Web/API/History/state
<h3 id="Значение">Значение</h3>
-<p>Последнее состояние стека истории. Значение равно {{jsxref("null")}} до тех пор, пока не будет применен метод {{domxref("History.pushState","pushState()")}} или {{domxref("History.replaceState","replaceState()")}}.</p>
+<p>Последнее состояние стека истории. Значение равно {{jsxref("null")}} до тех пор, пока не будет применён метод {{domxref("History.pushState","pushState()")}} или {{domxref("History.replaceState","replaceState()")}}.</p>
<h2 id="Примеры">Примеры</h2>
-<p>Код, приведенный ниже, выводит в консоль значение <code>history.state</code> до и после применения метода {{domxref("History.pushState","pushState()")}}, который записывает значение в историю.</p>
+<p>Код, приведённый ниже, выводит в консоль значение <code>history.state</code> до и после применения метода {{domxref("History.pushState","pushState()")}}, который записывает значение в историю.</p>
<pre class="brush: js notranslate">// Выведет null потому что мы пока не изменяли стек истории
console.log(`History.state before pushState: ${history.state}`);
diff --git a/files/ru/web/api/history_api/index.html b/files/ru/web/api/history_api/index.html
index 2238486e34..e629e51ae1 100644
--- a/files/ru/web/api/history_api/index.html
+++ b/files/ru/web/api/history_api/index.html
@@ -23,7 +23,7 @@ translation_of: Web/API/History_API
</pre>
<p>Данный метод работает так, будто пользователь нажал на кнопку "Назад" на панели браузера.<br>
- Похожим образом можно переместиться вперед (как если бы пользователь нажал на кнопку "Вперед"):</p>
+ Похожим образом можно переместиться вперёд (как если бы пользователь нажал на кнопку "Вперёд"):</p>
<pre class="brush: js notranslate">window.history.forward();
</pre>
@@ -42,7 +42,7 @@ translation_of: Web/API/History_API
<pre class="brush: js notranslate">window.history.go(1);
</pre>
-<p>По такому же принципу, можно перемещаться вперед на 2 страницы, передавая аргумент <code>2</code>, и так далее.</p>
+<p>По такому же принципу, можно перемещаться вперёд на 2 страницы, передавая аргумент <code>2</code>, и так далее.</p>
<p>Кроме того, метод <code>go()</code> можно использовать для обновления текущей страницы, передавая аргумент <code>0</code> или вызывая его без аргументов:</p>
diff --git a/files/ru/web/api/history_api/working_with_the_history_api/index.html b/files/ru/web/api/history_api/working_with_the_history_api/index.html
index b577f135f2..46f6fbafd9 100644
--- a/files/ru/web/api/history_api/working_with_the_history_api/index.html
+++ b/files/ru/web/api/history_api/working_with_the_history_api/index.html
@@ -24,7 +24,7 @@ history.pushState(stateObj, "page 2", "bar.html")
<p>В результате этого в URL-строке отобразится адрес <code>http://mozilla.org/bar.html</code>, но браузер не будет загружать страницу <code>bar.html</code> и даже не будет проверять, существует ли она..</p>
-<p>Теперь предположим, что пользователь перешел по адресу <code>http://google.com</code> и затем нажал на кнопку "<strong>Назад</strong>". В результате этого в URL будет отображаться <code>http://mozilla.org/bar.html</code>, а <code>history.state</code> будет содержать <code>stateObj</code>. Событие popstate не будет вызвано, поскольку страница была перезагружена. Сама страница будет выглядеть как <code>bar.html</code>.</p>
+<p>Теперь предположим, что пользователь перешёл по адресу <code>http://google.com</code> и затем нажал на кнопку "<strong>Назад</strong>". В результате этого в URL будет отображаться <code>http://mozilla.org/bar.html</code>, а <code>history.state</code> будет содержать <code>stateObj</code>. Событие popstate не будет вызвано, поскольку страница была перезагружена. Сама страница будет выглядеть как <code>bar.html</code>.</p>
<p>Если пользователь ещё раз нажимает кнопку <strong>"Назад"</strong>, URL изменится на <code>http://mozilla.org/foo.html</code>, а в документе снова произойдёт событие <code>popstate</code>, на этот раз с объектом состояния, имеющим значение <code>null</code>. В этом случае возврат назад также не меняет содержимое документа, как и на предыдущем шаге, хотя документ может сам обновить своё содержимое после получения события <code>popstate</code>.</p>
diff --git a/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html b/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html
index 0ebd022362..24931b8d5b 100644
--- a/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html
+++ b/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html
@@ -31,12 +31,12 @@ original_slug: Web/Guide/HTML/Drag_and_drop/Drag_operations
&lt;/p&gt;
</pre>
-<p>Атрибут <code>{{htmlattrxref("draggable")}}</code> установлен в  <code>"true"</code>, т.о. этот элемент становится перетаскиваемым. Если этот атрибут был опущен или установлен в <code>"false"</code>, то элемент не может быть перенесен, и вместо этого будет выбран текст.</p>
+<p>Атрибут <code>{{htmlattrxref("draggable")}}</code> установлен в  <code>"true"</code>, т.о. этот элемент становится перетаскиваемым. Если этот атрибут был опущен или установлен в <code>"false"</code>, то элемент не может быть перенесён, и вместо этого будет выбран текст.</p>
<p>Атрибут <code>{{htmlattrxref("draggable")}}</code> может быть использован для любого элемента, включая изображения и ссылки. Однако, для последних двух, значение по умолчанию - <code>true</code>, т.о. вы можете только использовать атрибут  <code>{{htmlattrxref("draggable")}}</code> со значением <code>false</code> для отключение перетаскивания этих элементов.</p>
<div class="blockIndicator note">
-<p><strong>Примечание:</strong> Когда элемент становится перетаскиваемыми, текст или другие элементы в нем больше не могут быть выбраны обычным способом, щелкая и перетаскивая мышью. Вместо этого пользователь должен удерживать клавишу <kbd>Alt</kbd>  чтобы выбрать текст с помощью мыши или клавиатуры.</p>
+<p><strong>Примечание:</strong> Когда элемент становится перетаскиваемыми, текст или другие элементы в нем больше не могут быть выбраны обычным способом, щёлкая и перетаскивая мышью. Вместо этого пользователь должен удерживать клавишу <kbd>Alt</kbd>  чтобы выбрать текст с помощью мыши или клавиатуры.</p>
</div>
<h2 id="dragstart" name="dragstart">Начало операции перетаскивания</h2>
@@ -81,7 +81,7 @@ dt.setData("text/uri-list", "https://www.mozilla.org");
dt.setData("text/plain", "https://www.mozilla.org");
</pre>
-<p>Добавлены данные трех различных форматов. Первый тип - <code>application/x.bookmark</code>, пользовательский тип.Другие приложения не поддерживают данный тип, но вы можете использовать пользовательский тип для перетаскивания между областями в одном приложение или на одной странице.</p>
+<p>Добавлены данные трёх различных форматов. Первый тип - <code>application/x.bookmark</code>, пользовательский тип.Другие приложения не поддерживают данный тип, но вы можете использовать пользовательский тип для перетаскивания между областями в одном приложение или на одной странице.</p>
<p>Предоставляя данные и в других типах, мы также можем поддерживать перетаскивание в другие приложения в менее специфичных формах. Тип <code>application/x.bookmark</code> может предоставлять данные с  более подробной информацией для использования в приложении, в то время как другие типы могут включать только один URL-адрес или текстовую версию.</p>
@@ -98,7 +98,7 @@ dt.setData("text/plain", "https://www.mozilla.org");
<h2 id="dragfeedback" name="dragfeedback">Настройка изображения отклика drag</h2>
-<p>Когда происходит перетаскивание, полупрозрачное изображение генерируется из цели перетаскивания (событие "{{event("dragstart")}}" элемента срабатывает), и следует за указателем пользователя во время перетаскивания. Это изображение создается автоматически, поэтому вам не нужно создавать его самостоятельно. Однако вы можете использовать {{domxref("DataTransfer.setDragImage","setDragImage()")}} для задания пользовательского изображения отклика перетаскивания.</p>
+<p>Когда происходит перетаскивание, полупрозрачное изображение генерируется из цели перетаскивания (событие "{{event("dragstart")}}" элемента срабатывает), и следует за указателем пользователя во время перетаскивания. Это изображение создаётся автоматически, поэтому вам не нужно создавать его самостоятельно. Однако вы можете использовать {{domxref("DataTransfer.setDragImage","setDragImage()")}} для задания пользовательского изображения отклика перетаскивания.</p>
<pre class="brush: js">event.dataTransfer.setDragImage(image, xOffset, yOffset);
</pre>
@@ -131,7 +131,7 @@ dt.setData("text/plain", "https://www.mozilla.org");
<p>При перетаскивании можно выполнить несколько операций. Операция  <code>copy</code> используется для указания на то, что перетаскиваемые данные будут скопированы из текущего местоположения в место перетаскивания. Операция <code>move</code> используется для указания на то, что перетаскиваемые данные будут перемещены, а операция <code>link</code> используется для указания на то, что между исходным и удаляемым местоположениями будет создана некоторая форма связи или соединения.</p>
-<p>Вы можете указать, какая из трех операций разрешена для источника перетаскивания, установив свойство {{domxref("DataTransfer.effectAllowed","effectAllowed")}} в обработчике событий<code>{{event("dragstart")}}</code>.</p>
+<p>Вы можете указать, какая из трёх операций разрешена для источника перетаскивания, установив свойство {{domxref("DataTransfer.effectAllowed","effectAllowed")}} в обработчике событий<code>{{event("dragstart")}}</code>.</p>
<pre class="brush: js">event.dataTransfer.effectAllowed = "copy";
</pre>
@@ -161,13 +161,13 @@ dt.setData("text/plain", "https://www.mozilla.org");
<dd>Значение по умолчанию <code>all</code>.</dd>
</dl>
-<p>Обратите внимание, что эти значения должны использоваться так, как указано выше. Например, установка свойства {{domxref("DataTransfer.effectAllowed","effectAllowed")}} на <code>copyMove</code> позволяет выполнять операцию копирования или перемещения, но не позволяет пользователю выполнять операцию связывания. Если вы не измените свойство {{domxref("DataTransfer.effectAllowed","effectAllowed")}},  то любая операция разрешена, как и со значением '<code>all</code>'. Поэтому вам не нужно настраивать это свойство, если вы не хотите исключить определенные типы.</p>
+<p>Обратите внимание, что эти значения должны использоваться так, как указано выше. Например, установка свойства {{domxref("DataTransfer.effectAllowed","effectAllowed")}} на <code>copyMove</code> позволяет выполнять операцию копирования или перемещения, но не позволяет пользователю выполнять операцию связывания. Если вы не измените свойство {{domxref("DataTransfer.effectAllowed","effectAllowed")}},  то любая операция разрешена, как и со значением '<code>all</code>'. Поэтому вам не нужно настраивать это свойство, если вы не хотите исключить определённые типы.</p>
<p>Во время операции перетаскивания, обработчик для событий <code>{{event("dragenter")}}</code> или <code>{{event("dragover")}}</code> может проверить свойство {{domxref("DataTransfer.effectAllowed","effectAllowed")}} , какие операции разрешены. Связанное свойство,  {{domxref("DataTransfer.dropEffect","dropEffect")}}, должно быть установлено в пределах одного из этих событий, чтобы указать, какая единственная операция должна быть выполнена. Допустимые значения для {{domxref("DataTransfer.dropEffect","dropEffect")}} - <code>none</code>, <code>copy</code>, <code>move</code>, или <code>link</code>. Комбинированные значения для этого свойства не используются.</p>
<p>С событиями <code>{{event("dragenter")}}</code> и <code>{{event("dragover")}}</code>, свойство {{domxref("DataTransfer.dropEffect","dropEffect")}} инициализируется в соответствии с запросом пользователя. Пользователь может изменить желаемый эффект, нажав клавиши-модификаторы. Хотя точные используемые клавиши различаются в зависимости от платформы, обычно клавиши  <kbd>Shift</kbd> и <kbd>Control</kbd> используются для переключения между копированием, перемещением и связыванием. Указатель мыши изменится, чтобы указать, какая операция требуется. Например, для <code>copy</code> курсор может появиться со знаком плюс рядом с ним.</p>
-<p>Вы можете изменять свойство {{domxref("DataTransfer.dropEffect","dropEffect")}} во время событий <code>{{event("dragenter")}}</code> или <code>{{event("dragover")}}</code>, например, определенная drop-цель поддерживает только определенные операции. Вы можете изменить свойство {{domxref("DataTransfer.dropEffect","dropEffect")}}, чтобы переопределить действие пользователя, и обеспечить выполнение специфичной  операции перетаскивания при ее наступлении. Обратите внимание, что этот эффект должен быть указан в списке свойств {{domxref("DataTransfer.effectAllowed","effectAllowed")}}. В противном случае ему будет присвоено другое допустимое значение.</p>
+<p>Вы можете изменять свойство {{domxref("DataTransfer.dropEffect","dropEffect")}} во время событий <code>{{event("dragenter")}}</code> или <code>{{event("dragover")}}</code>, например, определённая drop-цель поддерживает только определённые операции. Вы можете изменить свойство {{domxref("DataTransfer.dropEffect","dropEffect")}}, чтобы переопределить действие пользователя, и обеспечить выполнение специфичной  операции перетаскивания при её наступлении. Обратите внимание, что этот эффект должен быть указан в списке свойств {{domxref("DataTransfer.effectAllowed","effectAllowed")}}. В противном случае ему будет присвоено другое допустимое значение.</p>
<pre class="brush: js">event.dataTransfer.dropEffect = "copy";
</pre>
@@ -182,17 +182,17 @@ dt.setData("text/plain", "https://www.mozilla.org");
<p>Слушатель для событий <code>{{event("dragenter")}}</code> и <code>{{event("dragover")}}</code> используются для указания допустимых drop-целей, то есть мест, где могут быть сброшены перетаскиваемые элементы. Большинство областей веб-страницы или приложения не являются допустимыми местами для сброса данных. Таким образом, обработка этих событий по умолчанию не допускает сброса перетаскиваемых данных.</p>
-<p>Если вы хотите разрешить сброс переносимых данных, вы должны предотвратить обработку по умолчанию, отменив оба события <code>dragenter</code> и <code>dragover</code>.  Это можно сделать, либо вернув <code>false</code> из определенных атрибутом обработчика событий, либо вызвав метод {{domxref("Event.preventDefault","preventDefault()")}} событие. Последнее может быть более осуществимо в функции, определенной в отдельном скрипте.</p>
+<p>Если вы хотите разрешить сброс переносимых данных, вы должны предотвратить обработку по умолчанию, отменив оба события <code>dragenter</code> и <code>dragover</code>.  Это можно сделать, либо вернув <code>false</code> из определённых атрибутом обработчика событий, либо вызвав метод {{domxref("Event.preventDefault","preventDefault()")}} событие. Последнее может быть более осуществимо в функции, определённой в отдельном скрипте.</p>
<pre class="brush: html">&lt;div ondragover="return false"&gt;
&lt;div ondragover="event.preventDefault()"&gt;
</pre>
-<p>Вызывая метод {{domxref("Event.preventDefault","preventDefault()")}} во время обоих событий <code>{{event("dragenter")}}</code> и <code>{{event("dragover")}}</code> укажите, что падение разрешено в этом месте. Однако обычно вы захотите вызвать метод  {{domxref("Event.preventDefault","preventDefault()")}} события только в определенных ситуациях (например, только при перетаскивании ссылки).</p>
+<p>Вызывая метод {{domxref("Event.preventDefault","preventDefault()")}} во время обоих событий <code>{{event("dragenter")}}</code> и <code>{{event("dragover")}}</code> укажите, что падение разрешено в этом месте. Однако обычно вы захотите вызвать метод  {{domxref("Event.preventDefault","preventDefault()")}} события только в определённых ситуациях (например, только при перетаскивании ссылки).</p>
-<p>Для этого вызовите функцию, которая проверяет условие и отменяет событие только при его выполнении. Если условие не выполнено, не отменяйте событие, и сброс перетаскиваемых данных не произойдет, если пользователь отпустит кнопку мыши.</p>
+<p>Для этого вызовите функцию, которая проверяет условие и отменяет событие только при его выполнении. Если условие не выполнено, не отменяйте событие, и сброс перетаскиваемых данных не произойдёт, если пользователь отпустит кнопку мыши.</p>
-<p>Наиболее распространенным является принятие или отклонение сброса в зависимости от типа данных перетаскивания при передаче данных — например, разрешение для изображений, ссылок или и того, и другого. Для этого вы можете проверить свойство {{domxref("DataTransfer.types","types")}} события {{domxref("DragEvent.dataTransfer","dataTransfer")}} (свойство). Свойство {{domxref("DataTransfer.types","types")}} возвращает массив из строк, добавленных при начале перетаскивания, в порядке от наиболее значимого к наименее значимому.</p>
+<p>Наиболее распространённым является принятие или отклонение сброса в зависимости от типа данных перетаскивания при передаче данных — например, разрешение для изображений, ссылок или и того, и другого. Для этого вы можете проверить свойство {{domxref("DataTransfer.types","types")}} события {{domxref("DragEvent.dataTransfer","dataTransfer")}} (свойство). Свойство {{domxref("DataTransfer.types","types")}} возвращает массив из строк, добавленных при начале перетаскивания, в порядке от наиболее значимого к наименее значимому.</p>
<pre class="brush: js">function doDragOver(event) {
const isLink = event.dataTransfer.types.includes("text/uri-list");
@@ -201,7 +201,7 @@ dt.setData("text/plain", "https://www.mozilla.org");
  }
}</pre>
-<p>В этом примере мы используем метод <code>includes</code>  чтобы проверить, присутствует ли тип <code><a href="/en-US/docs/DragDrop/Recommended_Drag_Types#link" title="text/uri-list">text/uri-list</a></code> в списке типов. Если это так, мы отменим событие, так что сброс становится разрешен. Если перетаскиваемые данные не содержат ссылки, событие не будет отменено, и сброс не может произойти в этом месте.</p>
+<p>В этом примере мы используем метод <code>includes</code>  чтобы проверить, присутствует ли тип <code><a href="/en-US/docs/DragDrop/Recommended_Drag_Types#link" title="text/uri-list">text/uri-list</a></code> в списке типов. Если это так, мы отменим событие, так что сброс становится разрешён. Если перетаскиваемые данные не содержат ссылки, событие не будет отменено, и сброс не может произойти в этом месте.</p>
<p>Вы также можете установить либо свойство {{domxref("DataTransfer.effectAllowed","effectAllowed")}}, либо свойство{{domxref("DataTransfer.dropEffect","dropEffect")}}, либо оба одновременно, если вы хотите указать более конкретные сведения о типе операции, которая будет выполнена. Естественно, изменение любого свойства не будет иметь никакого эффекта, если вы не отмените событие.</p>
@@ -299,7 +299,7 @@ dt.setData("text/plain", "https://www.mozilla.org");
<p>Если свойство {{domxref("DataTransfer.dropEffect","dropEffect")}} имеет значение <code>none</code> во время события <code>{{event("dragend")}}</code>, то перетаскивание было отменено. В противном случае эффект указывает, какая операция была выполнена. Источник может использовать эту информацию после операции перемещения для удаления перетаскиваемого элемента из старого расположения. Свойство {{domxref("DataTransfer.mozUserCancelled","mozUserCancelled")}} будет присвоено значение <code>true</code>, если пользователь отменил перетаскивание (нажав <kbd>Escape</kbd>), и <code>false</code> если перетаскивание было отменено по другим причинам, таким как недопустимая цель перетаскивания, или если оно было успешным.</p>
-<p>Сброс может произойти внутри того же окна или над другим приложением. Событие<code>{{event("dragend")}}</code>будет срабатывать всегда, независимо от этого. Свойство события {{domxref("MouseEvent.screenX","screenX")}} и {{domxref("MouseEvent.screenY","screenY")}} будут установлены в координаты экрана, где произошел сброс.</p>
+<p>Сброс может произойти внутри того же окна или над другим приложением. Событие<code>{{event("dragend")}}</code>будет срабатывать всегда, независимо от этого. Свойство события {{domxref("MouseEvent.screenX","screenX")}} и {{domxref("MouseEvent.screenY","screenY")}} будут установлены в координаты экрана, где произошёл сброс.</p>
<p>Когда событие <code>{{event("dragend")}}</code> завершило распространение, операция перетаскивания завершена.</p>
diff --git a/files/ru/web/api/html_drag_and_drop_api/index.html b/files/ru/web/api/html_drag_and_drop_api/index.html
index 1e434f28af..d88ca60276 100644
--- a/files/ru/web/api/html_drag_and_drop_api/index.html
+++ b/files/ru/web/api/html_drag_and_drop_api/index.html
@@ -14,9 +14,9 @@ original_slug: Web/Guide/HTML/Drag_and_drop
<ul>
<li>Определить переносимый элемент. Присвоить true атрибуту draggable элемента, который мы хотим перенести. Для детальной информации смотрите <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_operations#draggableattribute">The Draggable Attribute</a>.</li>
- <li>Определить данные, которые могут быть перемещены, они могут быть разного формата. К примеру, текстовые данные, содержащие строку текста который может быть перемещен. Для детальной информации смотрите <a href="/en-US/docs/Web/Guide/HTML/Drag_operations#dragdata" title="Drag Data">Drag Data</a>.</li>
+ <li>Определить данные, которые могут быть перемещены, они могут быть разного формата. К примеру, текстовые данные, содержащие строку текста который может быть перемещён. Для детальной информации смотрите <a href="/en-US/docs/Web/Guide/HTML/Drag_operations#dragdata" title="Drag Data">Drag Data</a>.</li>
<li>(Необязательно) Определить изображение которое будет рядом с указателем мыши на протяжении всей операции перетаскивания.  Если пользовательское изображение не будет определено, будет сгенерирована картинка по умолчанию, в зависимости от элемента, на котором была зажата кнопка мыши (что будет означать, что элемент переносят). Ознакомиться детально с установкой изображения перетаскивания можно по ссылке <a href="/en-US/docs/DragDrop/Drag_Operations#dragfeedback" title="Setting the Drag Feedback Image">Setting the Drag Feedback Image</a>.</li>
- <li>Определить возможные эффекты переноса. Возможны три таких эффекта: <code>copy</code> показывает, что перемещаемые данные копируются из прежнего места расположения в новое, <code>move</code> показывает, что перемещаемые данные полностью переносятся на новое место, и <code>link</code> показывает, что создается некая форма взаимодействия или связи между исходной точкой и точкой назначения. На протяжении операции перемещения, картинка которая следует за курсором мыши может меняться в зависимости от того, может ли элемент быть перемещен в область под курсором. Если перенос разрешен, перемещение может быть произведено. Смотрите <a href="/en-US/docs/Web/Guide/HTML/Drag_operations#drageffects" title="Drag Effects">Drag Effects</a> для детальной информации.</li>
+ <li>Определить возможные эффекты переноса. Возможны три таких эффекта: <code>copy</code> показывает, что перемещаемые данные копируются из прежнего места расположения в новое, <code>move</code> показывает, что перемещаемые данные полностью переносятся на новое место, и <code>link</code> показывает, что создаётся некая форма взаимодействия или связи между исходной точкой и точкой назначения. На протяжении операции перемещения, картинка которая следует за курсором мыши может меняться в зависимости от того, может ли элемент быть перемещён в область под курсором. Если перенос разрешён, перемещение может быть произведено. Смотрите <a href="/en-US/docs/Web/Guide/HTML/Drag_operations#drageffects" title="Drag Effects">Drag Effects</a> для детальной информации.</li>
<li>Определить область назначения. По умолчанию браузер не позволяет перемещать что-либо на HTML элемент. Однако, чтобы сделать элемент активным для перемещения других элементов на него, просто отмените действие по умолчанию. То есть, подпишитесь на события "ondragenter" или "ondragover". Для детальной информации смотрите <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_operations#droptargets">Specifying Drop Targets</a>.</li>
<li>Обработать завершение переноса. Вы можете получить данные из переносимого элемента и произвести над ними необходимые операции. Для детальной информации, пожалуйста, смотрите <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_operations#drop">Performing a Drop</a>.</li>
</ul>
@@ -48,7 +48,7 @@ original_slug: Web/Guide/HTML/Drag_and_drop
<dt><code>dragstart</code></dt>
<dd>Срабатывает когда элемент начал перемещаться. В момент срабатывания события <code>dragstart</code> пользователь начинает перетаскивание элемента. Обработчик данного события может быть использован для сохранения информации о перемещаемом объекте, а также для изменения изображения, которое будет ассоциировано с перемещением. Данное событие не срабатывает, когда некоторый файл будет переноситься из операционной системы в браузер. Для детальной информации <a href="/en-US/docs/DragDrop/Drag_Operations#dragstart" title="Starting a Drag Operation">Starting a Drag Operation</a>.</dd>
<dt><code>dragenter</code></dt>
- <dd>Срабатывает, когда перемещаемый элемент попадает на элемент-назначение. Обработчик этого события показывает, что элемент находится над объектом на который он может быть перенесен. Если же обработчика нет, либо он не совершает никаких действий перемещение по умолчанию запрещено. Это событие также используется для того, чтобы подсветить либо промаркировать объект над которым происходит перемещения в случае, если перемещение на данный элемент разрешено. Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#droptargets" title="Specifying Drop Targets">Specifying Drop Targets</a>.</dd>
+ <dd>Срабатывает, когда перемещаемый элемент попадает на элемент-назначение. Обработчик этого события показывает, что элемент находится над объектом на который он может быть перенесён. Если же обработчика нет, либо он не совершает никаких действий перемещение по умолчанию запрещено. Это событие также используется для того, чтобы подсветить либо промаркировать объект над которым происходит перемещения в случае, если перемещение на данный элемент разрешено. Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#droptargets" title="Specifying Drop Targets">Specifying Drop Targets</a>.</dd>
<dt><code>dragover</code></dt>
<dd>Данное событие срабатывает каждые несколько сотен миллисекунд, когда перемещаемый элемент оказывается над зоной, принимающей перетаскиваемые элементы. Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#droptargets" title="Specifying Drop Targets">Specifying Drop Targets</a>.</dd>
<dt><code>dragleave</code></dt>
@@ -56,7 +56,7 @@ original_slug: Web/Guide/HTML/Drag_and_drop
<dt><code>drag</code></dt>
<dd>Запускается при перемещении элемента или выделенного текста.</dd>
<dt><code>drop</code></dt>
- <dd>Событие <code>drop</code> вызывается для элемента, над которым произошло "сбрасывание" перемещаемого элемента. Событие отвечает за извлечение "сброшенных" данных и их вставку. Событие будет срабатывать только при завершении операции перетаскивания, например, событие не сработает, если пользователь отменит перетаскивание нажатием Esc, или не донесет элемент, до цели. Для детальной информации смотрите <a href="https://developer.mozilla.org/en-US/docs/DragDrop/Drag_Operations#drop" title="Performing a Drop">Performing a Drop</a>.</dd>
+ <dd>Событие <code>drop</code> вызывается для элемента, над которым произошло "сбрасывание" перемещаемого элемента. Событие отвечает за извлечение "сброшенных" данных и их вставку. Событие будет срабатывать только при завершении операции перетаскивания, например, событие не сработает, если пользователь отменит перетаскивание нажатием Esc, или не донесёт элемент, до цели. Для детальной информации смотрите <a href="https://developer.mozilla.org/en-US/docs/DragDrop/Drag_Operations#drop" title="Performing a Drop">Performing a Drop</a>.</dd>
<dt><code>dragend</code></dt>
<dd>Источник перетаскивания получит событие dragend, когда перетаскивание завершится, было оно удачным или нет. Это событие не вызывается при перетаскивании файла в браузер из ОС.   Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#dragend" title="Finishing a Drag">Finishing a Drag</a>.</dd>
</dl>
diff --git a/files/ru/web/api/htmlanchorelement/hash/index.html b/files/ru/web/api/htmlanchorelement/hash/index.html
index e190f78636..32bc1b5ecc 100644
--- a/files/ru/web/api/htmlanchorelement/hash/index.html
+++ b/files/ru/web/api/htmlanchorelement/hash/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/hash
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.href#youhou"&gt;
var anchor = document.getElementByID("myAnchor");
-var result = anchor.hash; // Вернет: '#youhou'</pre>
+var result = anchor.hash; // Вернёт: '#youhou'</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/hostname/index.html b/files/ru/web/api/htmlanchorelement/hostname/index.html
index ef35c6709f..97fb6a472b 100644
--- a/files/ru/web/api/htmlanchorelement/hostname/index.html
+++ b/files/ru/web/api/htmlanchorelement/hostname/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/hostname
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.hostname"&gt;
var anchor = document.getElementByID("myAnchor");
-var result = anchor.hostname; // Вернет: 'developer.mozilla.org'</pre>
+var result = anchor.hostname; // Вернёт: 'developer.mozilla.org'</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/href/index.html b/files/ru/web/api/htmlanchorelement/href/index.html
index 0f03176a62..a295ccfa16 100644
--- a/files/ru/web/api/htmlanchorelement/href/index.html
+++ b/files/ru/web/api/htmlanchorelement/href/index.html
@@ -26,7 +26,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/href
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils/href"&gt;
var anchor = document.getElementById("myAnchor");
-var result = anchor.href; // Вернет: 'https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils/href'
+var result = anchor.href; // Вернёт: 'https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils/href'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/index.html b/files/ru/web/api/htmlanchorelement/index.html
index 11f17a3c80..930449ad39 100644
--- a/files/ru/web/api/htmlanchorelement/index.html
+++ b/files/ru/web/api/htmlanchorelement/index.html
@@ -20,7 +20,7 @@ translation_of: Web/API/HTMLAnchorElement
<dt>{{domxref("HTMLAnchorElement.charset")}} {{obsolete_inline}}</dt>
<dd>Это {{domxref("DOMString")}} отображает кодировку символов связанного ресурса.</dd>
<dt>{{domxref("HTMLAnchorElement.coords")}} {{obsolete_inline}}</dt>
- <dd>Это {{domxref("DOMString")}} отображает список координат разделенный запятыми.</dd>
+ <dd>Это {{domxref("DOMString")}} отображает список координат разделённый запятыми.</dd>
<dt>{{domxref("HTMLAnchorElement.download")}} {{experimental_inline}}</dt>
<dd>Это {{domxref("DOMString")}} показывать что связанный ресурс предназначен для загрузки, а не для отображения в браузере. Значение представляет предполагаемое имя файла. Если имя не является допустимым именем файла нижележащей ОС, браузер будет адаптировать его. Значение это URL по схеме <code>http:</code>, <code>file:</code>, <code>data:</code> или даже <code>blob:</code> (созданный с помощью {{domxref("URL.createObjectURL")}}).</dd>
<dt>{{domxref("URLUtils.hash")}}</dt>
@@ -68,7 +68,7 @@ translation_of: Web/API/HTMLAnchorElement
<dt>{{domxref("HTMLAnchorElement.type")}}</dt>
<dd>Это {{domxref("DOMString")}} которое отображает {{htmlattrxref("type", "a")}} HTML атрибут, показывающий MIME тип связанного ресурса.</dd>
<dt>{{domxref("URLUtils.username")}}</dt>
- <dd>Это {{domxref("DOMString")}} содержащий имя пользователя определенное перед именем домена.</dd>
+ <dd>Это {{domxref("DOMString")}} содержащий имя пользователя определённое перед именем домена.</dd>
</dl>
<h2 id="Методы">Методы</h2>
@@ -79,7 +79,7 @@ translation_of: Web/API/HTMLAnchorElement
<dt>{{domxref("HTMLElement.blur()")}}</dt>
<dd>Удаляет фокус клавиатуры из текущего элемента.</dd>
<dt>{{domxref("HTMLElement.focus()")}}</dt>
- <dd>Дает фокус клавиатуры на текущий элемент.</dd>
+ <dd>Даёт фокус клавиатуры на текущий элемент.</dd>
<dt>{{domxref("URLUtils.toString()")}}</dt>
<dd>Возвращает {{domxref("DOMString")}} содержащий весь URl. Это синоним {{domxref("URLUtils.href")}}, хотя он не может быть использован для изменения значения.</dd>
</dl>
diff --git a/files/ru/web/api/htmlanchorelement/origin/index.html b/files/ru/web/api/htmlanchorelement/origin/index.html
index 571cc669db..a9ad24f508 100644
--- a/files/ru/web/api/htmlanchorelement/origin/index.html
+++ b/files/ru/web/api/htmlanchorelement/origin/index.html
@@ -32,7 +32,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/origin
<h2 id="Примеры">Примеры</h2>
<pre class="brush: js">// На этой странице
-var result = window.location.origin; // Вернет: 'https://developer.mozilla.org'
+var result = window.location.origin; // Вернёт: 'https://developer.mozilla.org'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/password/index.html b/files/ru/web/api/htmlanchorelement/password/index.html
index c6a5751d25..c38ec9c4a6 100644
--- a/files/ru/web/api/htmlanchorelement/password/index.html
+++ b/files/ru/web/api/htmlanchorelement/password/index.html
@@ -26,7 +26,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/password
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://anonymous:flabada@developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.username"&gt;
var anchor = document.getElementByID("myAnchor");
-var result = anchor.password; // Вернет: 'flabada'
+var result = anchor.password; // Вернёт: 'flabada'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/pathname/index.html b/files/ru/web/api/htmlanchorelement/pathname/index.html
index ceda85555f..d971a47d88 100644
--- a/files/ru/web/api/htmlanchorelement/pathname/index.html
+++ b/files/ru/web/api/htmlanchorelement/pathname/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/pathname
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.pathname"&gt;
var anchor = document.getElementById("myAnchor");
-var result = anchor.pathname; // Вернет: '/en-US/docs/HTMLHyperlinkElementUtils.pathname'
+var result = anchor.pathname; // Вернёт: '/en-US/docs/HTMLHyperlinkElementUtils.pathname'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/port/index.html b/files/ru/web/api/htmlanchorelement/port/index.html
index 5cb032d0c5..5ea0c1df77 100644
--- a/files/ru/web/api/htmlanchorelement/port/index.html
+++ b/files/ru/web/api/htmlanchorelement/port/index.html
@@ -26,7 +26,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/port
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.port"&gt;
var anchor = document.getElementByID("myAnchor");
-var result = anchor.port; // Вернет: '80'
+var result = anchor.port; // Вернёт: '80'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/protocol/index.html b/files/ru/web/api/htmlanchorelement/protocol/index.html
index 7de2513b9f..f4e9cf46bf 100644
--- a/files/ru/web/api/htmlanchorelement/protocol/index.html
+++ b/files/ru/web/api/htmlanchorelement/protocol/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/protocol
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils.protocol"&gt;
var anchor = document.getElementByID("myAnchor");
-var result = anchor.protocol; // Вернет: 'https:'
+var result = anchor.protocol; // Вернёт: 'https:'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/search/index.html b/files/ru/web/api/htmlanchorelement/search/index.html
index 18b716d835..85940c7ace 100644
--- a/files/ru/web/api/htmlanchorelement/search/index.html
+++ b/files/ru/web/api/htmlanchorelement/search/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/search
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.search?q=123"&gt;
var anchor = document.getElementById("myAnchor");
-var result = anchor.search; // Вернет: '?q=123'
+var result = anchor.search; // Вернёт: '?q=123'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/tostring/index.html b/files/ru/web/api/htmlanchorelement/tostring/index.html
index 1b02751e90..3078b219e0 100644
--- a/files/ru/web/api/htmlanchorelement/tostring/index.html
+++ b/files/ru/web/api/htmlanchorelement/tostring/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/toString
<pre class="brush: js">// <code class="language-js"><span class="comment token">Допустим, что документ содержит элемент</span></code> &lt;a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils/toString"&gt;
var anchor = document.getElementById("myAnchor");
-var result = anchor.toString(); // Вернет: 'https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils/toString'
+var result = anchor.toString(); // Вернёт: 'https://developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils/toString'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlanchorelement/username/index.html b/files/ru/web/api/htmlanchorelement/username/index.html
index c212668e7e..b6ff99a04a 100644
--- a/files/ru/web/api/htmlanchorelement/username/index.html
+++ b/files/ru/web/api/htmlanchorelement/username/index.html
@@ -24,7 +24,7 @@ original_slug: Web/API/HTMLHyperlinkElementUtils/username
<pre class="brush: js">// Допустим, что документ содержит элемент &lt;a id="myAnchor" href="https://anonymous:flabada@developer.mozilla.org/en-US/docs/HTMLHyperlinkElementUtils.username"&gt;
var anchor = document.getElementByID("myAnchor");
-var result = anchor.username; // Вернет: 'anonymous'
+var result = anchor.username; // Вернёт: 'anonymous'
</pre>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlareaelement/index.html b/files/ru/web/api/htmlareaelement/index.html
index c9106d1877..1c018dd96a 100644
--- a/files/ru/web/api/htmlareaelement/index.html
+++ b/files/ru/web/api/htmlareaelement/index.html
@@ -63,7 +63,7 @@ translation_of: Web/API/HTMLAreaElement
<dt>{{domxref("HTMLAreaElement.type")}}</dt>
<dd>Это {{domxref("DOMString")}} которое отображает {{ htmlattrxref("type", "area") }} HTML атрибут, показывающий MIME тип связанного с ним ресурса.</dd>
<dt>{{domxref("URLUtils.username")}}</dt>
- <dd>Это {{domxref("DOMString")}} содержащий имя пользователя. определенное перед доменным именем.</dd>
+ <dd>Это {{domxref("DOMString")}} содержащий имя пользователя. определённое перед доменным именем.</dd>
</dl>
<h2 id="Методы">Методы</h2>
diff --git a/files/ru/web/api/htmlaudioelement/audio/index.html b/files/ru/web/api/htmlaudioelement/audio/index.html
index 172faa4863..df1406bca2 100644
--- a/files/ru/web/api/htmlaudioelement/audio/index.html
+++ b/files/ru/web/api/htmlaudioelement/audio/index.html
@@ -8,7 +8,7 @@ original_slug: Web/API/HTMLAudioElement/Audio()
---
<p>{{APIRef("HTML DOM")}}</p>
-<p><span class="seoSummary">Конструктор <code><strong>Audio()</strong></code> создает и возвращает новый {{domxref("HTMLAudioElement")}} объект, который может быть прикреплен к документу, чтобы пользователь мог взаимодействовать и/или слушать его, либо может использоваться вне экрана для управления и воспроизведения звука.</span></p>
+<p><span class="seoSummary">Конструктор <code><strong>Audio()</strong></code> создаёт и возвращает новый {{domxref("HTMLAudioElement")}} объект, который может быть прикреплён к документу, чтобы пользователь мог взаимодействовать и/или слушать его, либо может использоваться вне экрана для управления и воспроизведения звука.</span></p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -51,7 +51,7 @@ original_slug: Web/API/HTMLAudioElement/Audio()
<h3 id="Использование_памяти_и_управление">Использование памяти и управление</h3>
-<p>Если все ссылки на аудиоэлемент, созданные с помощью конструктора <code>Audio()</code> удалены, сам элемент не будет удален из памяти механизмом сборщика мусора JavaScript, если в данный момент идет воспроизведение. Вместо этого продолжится воспроизведение и объект останется в памяти до тех пор, пока не закончится аудио или оно не будет приостановлено (например, путем вызова {{domxref("HTMLMediaElement.pause", "pause()")}}). В этот момент объект подлежит уничтожению сборщиком мусора.</p>
+<p>Если все ссылки на аудиоэлемент, созданные с помощью конструктора <code>Audio()</code> удалены, сам элемент не будет удалён из памяти механизмом сборщика мусора JavaScript, если в данный момент идёт воспроизведение. Вместо этого продолжится воспроизведение и объект останется в памяти до тех пор, пока не закончится аудио или оно не будет приостановлено (например, путём вызова {{domxref("HTMLMediaElement.pause", "pause()")}}). В этот момент объект подлежит уничтожению сборщиком мусора.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/htmlaudioelement/index.html b/files/ru/web/api/htmlaudioelement/index.html
index e8fb21e4d6..4ecbafa11a 100644
--- a/files/ru/web/api/htmlaudioelement/index.html
+++ b/files/ru/web/api/htmlaudioelement/index.html
@@ -56,7 +56,7 @@ translation_of: Web/API/HTMLAudioElement
<p><code>mozSetup(in PRUint32 channels, in PRUint32 rate)</code> {{non-standard_inline}}</p>
</td>
<td><code>void</code></td>
- <td>Создает аудиострима для записи. Вы можете указать такие параметры, как количество каналов  (<code>1</code> for mono or <code>2</code> for stereo), так и частота сэмпла (<code>44100</code> for 44.1kHz, for example).</td>
+ <td>Создаёт аудиострима для записи. Вы можете указать такие параметры, как количество каналов  (<code>1</code> for mono or <code>2</code> for stereo), так и частота сэмпла (<code>44100</code> for 44.1kHz, for example).</td>
</tr>
<tr>
<td><code>mozWriteAudio(in jsval data) </code>{{non-standard_inline}}</td>
diff --git a/files/ru/web/api/htmlbasefontelement/index.html b/files/ru/web/api/htmlbasefontelement/index.html
index a5a4c2f302..1aacd6f9d7 100644
--- a/files/ru/web/api/htmlbasefontelement/index.html
+++ b/files/ru/web/api/htmlbasefontelement/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/HTMLBaseFontElement
<p><strong><code>HTMLBaseFontElement</code></strong>интерфейс предоставляющий специальные свойства (помимо тех постоянных объектов  {{domxref("HTMLElement")}} интерфейса, доступных ему также по наследству) для манипулирования {{HTMLElement("basefont")}} элементами.</p>
-<p><code>элемент &lt;basefont&gt;</code> устарел HTML4 и удален в HTML5. Это последняя спецификация которая этот элемент реализует This latest specification requires that this element implements {{domxref("HTMLUnknownElement")}} вместо <code>HTMLBaseFontElement</code>.</p>
+<p><code>элемент &lt;basefont&gt;</code> устарел HTML4 и удалён в HTML5. Это последняя спецификация которая этот элемент реализует This latest specification requires that this element implements {{domxref("HTMLUnknownElement")}} вместо <code>HTMLBaseFontElement</code>.</p>
<h2 id="Свойства">Свойства</h2>
@@ -15,7 +15,7 @@ translation_of: Web/API/HTMLBaseFontElement
<dl>
<dt><code>HTMLBaseFontElement.color</code></dt>
- <dd>Это {{domxref("DOMString")}} представляющий цвет текста, используя либо именованный цвет или цвет определенный в шестнадцатеричном формате <code>#RRGGBB</code>.</dd>
+ <dd>Это {{domxref("DOMString")}} представляющий цвет текста, используя либо именованный цвет или цвет определённый в шестнадцатеричном формате <code>#RRGGBB</code>.</dd>
<dt><code>HTMLBaseFontElement.face</code></dt>
<dd>Это {{domxref("DOMString")}} представляющий список из одного или более имени шрифтов. Текст документа отображается в стиле по умолчанию, первым поддерживаемым клиентским браузером шрифтом. Если нет установленного шрифта на локальной системе, браузер обычно по умолчанию, устанавливает пропорциональный или фиксированной ширины шрифт для этой системы.</dd>
<dt><code>HTMLBaseFontElement.size</code></dt>
diff --git a/files/ru/web/api/htmlbodyelement/index.html b/files/ru/web/api/htmlbodyelement/index.html
index f053136969..c2bfef5572 100644
--- a/files/ru/web/api/htmlbodyelement/index.html
+++ b/files/ru/web/api/htmlbodyelement/index.html
@@ -23,7 +23,7 @@ translation_of: Web/API/HTMLBodyElement
<dt>{{domxref("HTMLBodyElement.text")}} {{obsolete_inline}}</dt>
<dd>Это {{ domxref("DOMString") }} который представляет собой основной цвет текста.</dd>
<dt>{{domxref("HTMLBodyElement.vLink")}} {{obsolete_inline}}</dt>
- <dd>Это {{ domxref("DOMString") }} который представляет собой цвет посещенных ссылок.</dd>
+ <dd>Это {{ domxref("DOMString") }} который представляет собой цвет посещённых ссылок.</dd>
</dl>
<h2 id="Методы">Методы</h2>
diff --git a/files/ru/web/api/htmlbuttonelement/index.html b/files/ru/web/api/htmlbuttonelement/index.html
index dc488618d0..86816a631b 100644
--- a/files/ru/web/api/htmlbuttonelement/index.html
+++ b/files/ru/web/api/htmlbuttonelement/index.html
@@ -25,7 +25,7 @@ translation_of: Web/API/HTMLButtonElement
<tr>
<td><code>accessKey</code></td>
<td>{{domxref("DOMString")}}</td>
- <td>Определенная кнопка клавиатуры, дающая доступ к кнопке.</td>
+ <td>Определённая кнопка клавиатуры, дающая доступ к кнопке.</td>
</tr>
<tr>
<td><code>autofocus</code></td>
@@ -107,9 +107,9 @@ translation_of: Web/API/HTMLButtonElement
<p>Указывает поведение кнопки. Это перечисляемый атрибут со следующими возможными значениями:</p>
<ul>
- <li><code>"submit"</code>: Кнопка отправки формы. Это значение по умолчанию, если атрибут не определен, {{HTMLVersionInline(5)}} или если он динамически изменяется на пустое или недопустимое значение.</li>
+ <li><code>"submit"</code>: Кнопка отправки формы. Это значение по умолчанию, если атрибут не определён, {{HTMLVersionInline(5)}} или если он динамически изменяется на пустое или недопустимое значение.</li>
<li><code>"reset"</code>: Кнопка сброса формы.</li>
- <li><code>"button"</code>: Кнопка с неопределенным действием.</li>
+ <li><code>"button"</code>: Кнопка с неопределённым действием.</li>
<li><code>"menu"</code>:  Кнопка показывающая меню (экспериментальная). {{experimental_inline}}</li>
</ul>
</td>
diff --git a/files/ru/web/api/htmlcanvaselement/capturestream/index.html b/files/ru/web/api/htmlcanvaselement/capturestream/index.html
index 9240255f86..b58792b2a3 100644
--- a/files/ru/web/api/htmlcanvaselement/capturestream/index.html
+++ b/files/ru/web/api/htmlcanvaselement/capturestream/index.html
@@ -40,7 +40,7 @@ var stream = canvasElt.captureStream(25); // 25 FPS
// Делать что-то с потоком
// например, отправить что-то другому компьютеру, используя RTCPeerConnection
-// pc это RTCPeerConnection, созданное где-то еще
+// pc это RTCPeerConnection, созданное где-то ещё
pc.addStream(stream);
</pre>
diff --git a/files/ru/web/api/htmlcanvaselement/getcontext/index.html b/files/ru/web/api/htmlcanvaselement/getcontext/index.html
index 3ac02908b7..ebd62161f6 100644
--- a/files/ru/web/api/htmlcanvaselement/getcontext/index.html
+++ b/files/ru/web/api/htmlcanvaselement/getcontext/index.html
@@ -19,12 +19,12 @@ translation_of: Web/API/HTMLCanvasElement/getContext
<dd>{{domxref("DOMString")}}, содержащий идентификатор контекста, определяющий контекст рисования, связанный с холстом. Возможные значения:
<ul>
<li><code>"2d</code>", ведущий к созданию объекта {{domxref("CanvasRenderingContext2D")}}, представляющий двумерный контекст.</li>
- <li><code>"webgl"</code> (или <code>"experimental-webgl"</code>), который будет создавать объект {{domxref("WebGLRenderingContext")}}, представляющий трехмерный контекст. Этот контекст доступен только в браузерах, которые реализуют {{domxref("WebGL")}} первой версии (OpenGL ES 2.0).</li>
- <li>"<code>webgl2</code>" (или "<code>experimental-webgl2</code>"), который будет создавать объект {{domxref("WebGL2RenderingContext")}}, представляющий трехмерный контекст. Этот контекст доступен только в браузерах, которые реализуют {{domxref("WebGL")}} второй версии (OpenGL ES 3.0). {{experimental_inline}}</li>
+ <li><code>"webgl"</code> (или <code>"experimental-webgl"</code>), который будет создавать объект {{domxref("WebGLRenderingContext")}}, представляющий трёхмерный контекст. Этот контекст доступен только в браузерах, которые реализуют {{domxref("WebGL")}} первой версии (OpenGL ES 2.0).</li>
+ <li>"<code>webgl2</code>" (или "<code>experimental-webgl2</code>"), который будет создавать объект {{domxref("WebGL2RenderingContext")}}, представляющий трёхмерный контекст. Этот контекст доступен только в браузерах, которые реализуют {{domxref("WebGL")}} второй версии (OpenGL ES 3.0). {{experimental_inline}}</li>
<li><code>"bitmaprenderer",</code> который позволит создать {{domxref("ImageBitmapRenderingContext")}}, обеспечивающий только функции для замены содержимого холста с заданным {{domxref("ImageBitmap")}}.</li>
</ul>
- <p>Примечание: Идентификаторы "<code>experimental-webgl</code>" или "<code>experimental-webgl2</code>" используются в новых реализациях WebGL. Эти реализации не достигли испытательного набора на соответствие или ситуация с графическими драйверами на платформе еще не стабильна The <a href="https://www.khronos.org/">Khronos Group</a> certifies WebGL implementations under certain <a href="https://www.khronos.org/registry/webgl/sdk/tests/CONFORMANCE_RULES.txt">conformance rules</a>.</p>
+ <p>Примечание: Идентификаторы "<code>experimental-webgl</code>" или "<code>experimental-webgl2</code>" используются в новых реализациях WebGL. Эти реализации не достигли испытательного набора на соответствие или ситуация с графическими драйверами на платформе ещё не стабильна The <a href="https://www.khronos.org/">Khronos Group</a> certifies WebGL implementations under certain <a href="https://www.khronos.org/registry/webgl/sdk/tests/CONFORMANCE_RULES.txt">conformance rules</a>.</p>
</dd>
<dt><code>contextAttributes</code></dt>
<dd>
diff --git a/files/ru/web/api/htmlcanvaselement/toblob/index.html b/files/ru/web/api/htmlcanvaselement/toblob/index.html
index 3ec0c1e158..2afcf36825 100644
--- a/files/ru/web/api/htmlcanvaselement/toblob/index.html
+++ b/files/ru/web/api/htmlcanvaselement/toblob/index.html
@@ -46,7 +46,7 @@ canvas.toBlob(function(blob) {
url = URL.createObjectURL(blob);
newImg.onload = function() {
- // больше не нужно читать blob, поэтому он отменен
+ // больше не нужно читать blob, поэтому он отменён
URL.revokeObjectURL(url);
};
@@ -62,7 +62,7 @@ canvas.toBlob(function(blob) {
<div>
<h3 id="A_way_to_convert_a_canvas_to_an_ico_Mozilla_only">A way to convert a canvas to an ico (Mozilla only)</h3>
-<p>Это использует <code>-moz-parse</code> для преобразования cnavas в ICO. Windows XP не поддерживает преобразование из PNG в ico, поэтому вместо этого использует bmp. Ссылка для загрузки создается путем установки атрибута загрузки. Значение атрибута загрузки - это имя, которое он будет использовать в качестве имени файла.</p>
+<p>Это использует <code>-moz-parse</code> для преобразования cnavas в ICO. Windows XP не поддерживает преобразование из PNG в ico, поэтому вместо этого использует bmp. Ссылка для загрузки создаётся путём установки атрибута загрузки. Значение атрибута загрузки - это имя, которое он будет использовать в качестве имени файла.</p>
<pre class="brush: js">var canvas = document.getElementById('canvas');
var d = canvas.width;
diff --git a/files/ru/web/api/htmldialogelement/index.html b/files/ru/web/api/htmldialogelement/index.html
index fd7432b122..835d070939 100644
--- a/files/ru/web/api/htmldialogelement/index.html
+++ b/files/ru/web/api/htmldialogelement/index.html
@@ -33,7 +33,7 @@ translation_of: Web/API/HTMLDialogElement
<dt>{{domxref("HTMLDialogElement.close()")}}</dt>
<dd>Закрывает диалоговое окно. Опциональный {{domxref("DOMString")}} может быть передан как аргумент, обновляющий <code>returnValue</code> диалогового окна.</dd>
<dt>{{domxref("HTMLDialogElement.show()")}}</dt>
- <dd>Показывает диалоговое окно modelessly, т.е. остается возможность взаимодействовать с контентом вне диалогового окна.</dd>
+ <dd>Показывает диалоговое окно modelessly, т.е. остаётся возможность взаимодействовать с контентом вне диалогового окна.</dd>
<dt>{{domxref("HTMLDialogElement.showModal()")}}</dt>
<dd>Показывает диалог как модальное окно поверх любых других диалоговых окон, которые также могут существовать в данный момент. Взаимодействие с контентом вне диалогового окна заблокировано.</dd>
</dl>
diff --git a/files/ru/web/api/htmlelement/accesskey/index.html b/files/ru/web/api/htmlelement/accesskey/index.html
index 12df05982c..a8227e569d 100644
--- a/files/ru/web/api/htmlelement/accesskey/index.html
+++ b/files/ru/web/api/htmlelement/accesskey/index.html
@@ -14,7 +14,7 @@ original_slug: Web/API/Element/accessKey
<p>Свойство <font face="Consolas, Monaco, Andale Mono, monospace"><strong>accessKey</strong></font> позволяет перейти к элементу с помощью сочетания клавиш - заданной им и тех, что назначит браузер.</p>
<div class="note">
-<p>По сути, <strong>accessKey </strong>задает значение для <a href="https://developer.mozilla.org/ru/docs/Web/HTML/Global_attributes/accesskey">одноименного атрибута</a>...</p>
+<p>По сути, <strong>accessKey </strong>задаёт значение для <a href="https://developer.mozilla.org/ru/docs/Web/HTML/Global_attributes/accesskey">одноимённого атрибута</a>...</p>
</div>
<div class="warning">
@@ -39,7 +39,7 @@ elem.accessKey = "w";
<h2 id="Немного_информации">Немного информации</h2>
-<p>Фокусировка на элемент произойдет при нажатии следующих клавиш (,где<strong> acesskey</strong> - значение свойства<code><strong> acessKey).</strong></code></p>
+<p>Фокусировка на элемент произойдёт при нажатии следующих клавиш (,где<strong> acesskey</strong> - значение свойства<code><strong> acessKey).</strong></code></p>
<table class="standard-table" style="height: 252px; width: 388px;">
<tbody>
diff --git a/files/ru/web/api/htmlelement/hidden/index.html b/files/ru/web/api/htmlelement/hidden/index.html
index 6886374bee..b901a819bd 100644
--- a/files/ru/web/api/htmlelement/hidden/index.html
+++ b/files/ru/web/api/htmlelement/hidden/index.html
@@ -62,7 +62,7 @@ translation_of: Web/API/HTMLElement/hidden
&lt;button class="button" id="okButton"&gt;OK&lt;/button&gt;
&lt;/div&gt;</pre>
-<p>Этот  HTML создает панель, которая приветствует пользователей на сайте и рассказывает им о том с чем они соглашаются нажимая на кнопку OK.</p>
+<p>Этот  HTML создаёт панель, которая приветствует пользователей на сайте и рассказывает им о том с чем они соглашаются нажимая на кнопку OK.</p>
<h4 id="The_follow-up_panel">The follow-up panel</h4>
diff --git a/files/ru/web/api/htmlelement/offsetheight/index.html b/files/ru/web/api/htmlelement/offsetheight/index.html
index e8d14948a9..bd26064ef3 100644
--- a/files/ru/web/api/htmlelement/offsetheight/index.html
+++ b/files/ru/web/api/htmlelement/offsetheight/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/HTMLElement/offsetHeight
---
<div>{{ APIRef("HTML DOM") }}</div>
-<p><strong><code>HTMLElement.offsetHeight</code></strong> - высота элемента с учетом вертикальных полей и границ в пикселях. Свойство неизменяемое, только для чтения. Возвращаемое значение - целочисленное.</p>
+<p><strong><code>HTMLElement.offsetHeight</code></strong> - высота элемента с учётом вертикальных полей и границ в пикселях. Свойство неизменяемое, только для чтения. Возвращаемое значение - целочисленное.</p>
<p>Typically, an element's <code>offsetHeight</code> is a measurement which includes the element borders, the element vertical padding, the element horizontal scrollbar (if present, if rendered) and the element CSS height.</p>
diff --git a/files/ru/web/api/htmlelement/transitionend_event/index.html b/files/ru/web/api/htmlelement/transitionend_event/index.html
index 697806203f..7a0aab188e 100644
--- a/files/ru/web/api/htmlelement/transitionend_event/index.html
+++ b/files/ru/web/api/htmlelement/transitionend_event/index.html
@@ -6,7 +6,7 @@ tags:
translation_of: Web/API/HTMLElement/transitionend_event
original_slug: Web/Events/transitionend
---
-<p><span style="line-height: 1.5;">Событие </span><code style="font-style: normal; line-height: 1.5;">transitionend</code><span style="line-height: 1.5;"> срабатывает, когда</span><span style="line-height: 1.5;"> </span><a href="/en-US/docs/CSS/Using_CSS_transitions" style="line-height: 1.5;">CSS transition</a><span style="line-height: 1.5;"> закончил свое выполнение. В случае, когда анимация удаляется до ее завершения(например, если <a href="/en-US/docs/Web/CSS/transition-property">transition-property [en-US]</a> </span><span style="line-height: 1.5;">удаляется), то событие не срабатывает.</span></p>
+<p><span style="line-height: 1.5;">Событие </span><code style="font-style: normal; line-height: 1.5;">transitionend</code><span style="line-height: 1.5;"> срабатывает, когда</span><span style="line-height: 1.5;"> </span><a href="/en-US/docs/CSS/Using_CSS_transitions" style="line-height: 1.5;">CSS transition</a><span style="line-height: 1.5;"> закончил своё выполнение. В случае, когда анимация удаляется до её завершения(например, если <a href="/en-US/docs/Web/CSS/transition-property">transition-property [en-US]</a> </span><span style="line-height: 1.5;">удаляется), то событие не срабатывает.</span></p>
<h2 id="Общая_информация">Общая информация</h2>
@@ -75,11 +75,11 @@ original_slug: Web/Events/transitionend
<h2 id="Пример">Пример</h2>
<pre class="brush: js">/*
- * Обрабатывать событие <span style="font-size: 1rem;">transitionend на определенном элементе, т.е. </span><span style="font-size: 1rem;">#slidingMenu</span>
- * Затем, вызвать определенную функцию, т.е. showMessage()
+ * Обрабатывать событие <span style="font-size: 1rem;">transitionend на определённом элементе, т.е. </span><span style="font-size: 1rem;">#slidingMenu</span>
+ * Затем, вызвать определённую функцию, т.е. showMessage()
*/
function showMessage() {
-    alert('Transition закончил свое выполнение');
+    alert('Transition закончил своё выполнение');
}
var element = document.getElementById("slidingMenu");
diff --git a/files/ru/web/api/htmlimageelement/image/index.html b/files/ru/web/api/htmlimageelement/image/index.html
index 1c96e0f2d1..9236013fa7 100644
--- a/files/ru/web/api/htmlimageelement/image/index.html
+++ b/files/ru/web/api/htmlimageelement/image/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/HTMLImageElement/Image
<div></div>
-<div>Конструктор <strong>Image()</strong> создает новый экземпляр HTMLImageElement. Эквивалентно document.createElement ('img').</div>
+<div>Конструктор <strong>Image()</strong> создаёт новый экземпляр HTMLImageElement. Эквивалентно document.createElement ('img').</div>
<h3 id="Конструктор_элемента_Image">Конструктор элемента Image</h3>
diff --git a/files/ru/web/api/htmlinputelement/setselectionrange/index.html b/files/ru/web/api/htmlinputelement/setselectionrange/index.html
index 585f5e499f..b444567202 100644
--- a/files/ru/web/api/htmlinputelement/setselectionrange/index.html
+++ b/files/ru/web/api/htmlinputelement/setselectionrange/index.html
@@ -31,7 +31,7 @@ translation_of: Web/API/HTMLInputElement/setSelectionRange
<dt><em>selectionEnd</em></dt>
<dd>Индекс символа <em>после</em> последнего выделенного символа.</dd>
<dt><em>selectionDirection</em> {{optional_inline}}</dt>
- <dd>Строка, определяющая направления произведенного выделения. Принимаются значения "forward", "backward" или "none", если направление выделение неизвестно или неважно.</dd>
+ <dd>Строка, определяющая направления произведённого выделения. Принимаются значения "forward", "backward" или "none", если направление выделение неизвестно или неважно.</dd>
</dl>
<h2 id="Пример">Пример</h2>
@@ -58,7 +58,7 @@ function SelectText () {
&lt;/html&gt;
</pre>
-<p>приведет к следующему результату:</p>
+<p>приведёт к следующему результату:</p>
<p><img alt="example.png" class="default internal" src="/@api/deki/files/6104/=example.png"></p>
@@ -159,7 +159,7 @@ function SelectText () {
<p>[1] Поддержка <code>selectionDirection</code> была добавлена Blink в {{WebkitBug("60403")}}.</p>
-<p>Требуется отметить, что согласно спецификации <a href="https://html.spec.whatwg.org/multipage/forms.html#concept-input-apply">WHATWG forms</a> свойства <code>selectionStart</code>, <code>selectionEnd</code> и метод <code>setSelectionRange</code> применяются только к элементам <em>input</em> c типами <em>text</em>, <em>search</em>, <em>URL</em>, <em>tel</em> и <em>password</em>. Начиная с версии 33, Chrome, выдает исключение во время попытки доступа к этим свойствам и методу на других типах элемента <em>input</em>. Например, для элемента <em>input</em> типа <em>number</em> появится исключение с сообщением: "Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not support selection." Ссылки по теме: <a href="http://stackoverflow.com/questions/21177489/selectionstart-selectionend-on-input-type-number-no-longer-allowed-in-chrome">вопрос на StackOverflow</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=24796">whatwg баг</a>, <a href="https://code.google.com/p/chromium/issues/detail?id=324360">Chromium баг</a>.</p>
+<p>Требуется отметить, что согласно спецификации <a href="https://html.spec.whatwg.org/multipage/forms.html#concept-input-apply">WHATWG forms</a> свойства <code>selectionStart</code>, <code>selectionEnd</code> и метод <code>setSelectionRange</code> применяются только к элементам <em>input</em> c типами <em>text</em>, <em>search</em>, <em>URL</em>, <em>tel</em> и <em>password</em>. Начиная с версии 33, Chrome, выдаёт исключение во время попытки доступа к этим свойствам и методу на других типах элемента <em>input</em>. Например, для элемента <em>input</em> типа <em>number</em> появится исключение с сообщением: "Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not support selection." Ссылки по теме: <a href="http://stackoverflow.com/questions/21177489/selectionstart-selectionend-on-input-type-number-no-longer-allowed-in-chrome">вопрос на StackOverflow</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=24796">whatwg баг</a>, <a href="https://code.google.com/p/chromium/issues/detail?id=324360">Chromium баг</a>.</p>
<p>[2] Поддержка <code>selectionDirection</code> была добавлена в Gecko в {{bug("674558")}}.</p>
diff --git a/files/ru/web/api/htmlmediaelement/duration/index.html b/files/ru/web/api/htmlmediaelement/duration/index.html
index ec667078a9..5d96bdb7d8 100644
--- a/files/ru/web/api/htmlmediaelement/duration/index.html
+++ b/files/ru/web/api/htmlmediaelement/duration/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/HTMLMediaElement/duration
<h3 id="Значения">Значения</h3>
-<p><code>Double</code>. Если медиа данные доступны, но длина неизвестна, то duration будет <code>NaN</code>. Если медиа загружается в фоновом режиме и не имеет заранее определенной длины, значение равно <code>Inf</code>.</p>
+<p><code>Double</code>. Если медиа данные доступны, но длина неизвестна, то duration будет <code>NaN</code>. Если медиа загружается в фоновом режиме и не имеет заранее определённой длины, значение равно <code>Inf</code>.</p>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/api/htmlmediaelement/index.html b/files/ru/web/api/htmlmediaelement/index.html
index 9bd4e1feca..1b069ef10a 100644
--- a/files/ru/web/api/htmlmediaelement/index.html
+++ b/files/ru/web/api/htmlmediaelement/index.html
@@ -29,7 +29,7 @@ translation_of: Web/API/HTMLMediaElement
<dd>{{Domxref ("AudioTrackList")}}, в котором перечислены объекты {{domxref ("AudioTrack")}}, содержащиеся в элементе.</dd>
<dt>{{domxref("HTMLMediaElement.autoplay")}}</dt>
<dd>{{Jsxref ("Boolean")}}, который отражает атрибут HTML {{htmlattrxref ("autoplay", "video")}}, указывающий, должно ли воспроизведение начинаться автоматически, как только будет доступно достаточно медиафайлов, чтобы сделать это без прерывания.
- <div class="note"><strong>Примечание. Сайты, которые автоматически воспроизводят аудио (или видео с аудиодорожкой), могут быть неприятными для пользователей, поэтому их следует по возможности избегать. Если вы должны предлагать функцию автозапуска, вы должны включить ее (требуется, чтобы пользователь специально включил ее). Однако это может быть полезно при создании элементов мультимедиа, источник которых будет установлен позднее под контролем пользователя.</strong></div>
+ <div class="note"><strong>Примечание. Сайты, которые автоматически воспроизводят аудио (или видео с аудиодорожкой), могут быть неприятными для пользователей, поэтому их следует по возможности избегать. Если вы должны предлагать функцию автозапуска, вы должны включить её (требуется, чтобы пользователь специально включил её). Однако это может быть полезно при создании элементов мультимедиа, источник которых будет установлен позднее под контролем пользователя.</strong></div>
</dd>
<dt>{{domxref("HTMLMediaElement.buffered")}} {{readonlyinline}}</dt>
<dd>Возвращает объект {{domxref ("TimeRanges")}}, который указывает диапазоны медиаисточника, который браузер буферизировал (если есть) в момент обращения к свойству <code>buffered</code>.</dd>
@@ -38,7 +38,7 @@ translation_of: Web/API/HTMLMediaElement
<dt>{{domxref("HTMLMediaElement.controls")}}</dt>
<dd>Является {{jsxref ('Boolean')}}, который отражает атрибут HTML {{htmlattrxref ("controls", "video")}}, указывающий, должны ли отображаться элементы пользовательского интерфейса для управления ресурсом.</dd>
<dt>{{domxref("HTMLMediaElement.controlsList")}} {{readonlyinline}}</dt>
- <dd>Возвращает {{domxref ("DOMTokenList")}}, который помогает агенту пользователя выбирать элементы управления для отображения на элементе мультимедиа всякий раз, когда агент пользователя показывает свой собственный набор элементов управления. DOMTokenList принимает одно или несколько из трех возможных значений: nodownload, nofullscreen и noremoteplayback.</dd>
+ <dd>Возвращает {{domxref ("DOMTokenList")}}, который помогает агенту пользователя выбирать элементы управления для отображения на элементе мультимедиа всякий раз, когда агент пользователя показывает свой собственный набор элементов управления. DOMTokenList принимает одно или несколько из трёх возможных значений: nodownload, nofullscreen и noremoteplayback.</dd>
<dt>{{domxref("HTMLMediaElement.crossOrigin")}}</dt>
<dd>{{Domxref ("DOMString")}}, указывающий настройку CORS для этого медиаэлемента.</dd>
<dt>{{domxref("HTMLMediaElement.currentSrc")}} {{readonlyinline}}</dt>
@@ -50,7 +50,7 @@ translation_of: Web/API/HTMLMediaElement
<dt>{{domxref("HTMLMediaElement.defaultPlaybackRate")}}</dt>
<dd>Двойное значение, обозначающее скорость воспроизведения по умолчанию для мультимедиа.</dd>
<dt>{{domxref("HTMLMediaElement.disableRemotePlayback")}}</dt>
- <dd>{{Jsxref ('Boolean')}}, который устанавливает или возвращает состояние удаленного воспроизведения, указывая, разрешено ли медиаэлементу иметь удаленный пользовательский интерфейс воспроизведения.</dd>
+ <dd>{{Jsxref ('Boolean')}}, который устанавливает или возвращает состояние удалённого воспроизведения, указывая, разрешено ли медиаэлементу иметь удалённый пользовательский интерфейс воспроизведения.</dd>
<dt>{{domxref("HTMLMediaElement.duration")}} {{readonlyinline}}</dt>
<dd>Возвращает значение типа double, указывающее длину носителя в секундах, или 0, если данные носителя отсутствуют.</dd>
<dt>{{domxref("HTMLMediaElement.ended")}} {{readonlyinline}}</dt>
@@ -71,12 +71,12 @@ translation_of: Web/API/HTMLMediaElement
<dd>
<p>Это unsigned long, который указывает число выборок, которые будут возвращены в кадровом буфере каждого события MozAudioAvailable. Это число является общим для всех каналов, и по умолчанию установлено количество каналов * 1024 (например, 2 канала * 1024 выборок = всего 2048).</p>
- <p>Для свойства mozFrameBufferLength может быть установлено новое значение для более низкой задержки, больших объемов данных и т. Д. Указанный размер должен быть числом от 512 до 16384. Использование любого другого размера приводит к возникновению исключения. Лучшее время для установки новой длины - после того, как сработало событие загруженных метаданных, когда известна аудиоинформация, но до того, как аудио началось, или события MozAudioAvailable начали срабатывать.</p>
+ <p>Для свойства mozFrameBufferLength может быть установлено новое значение для более низкой задержки, больших объёмов данных и т. Д. Указанный размер должен быть числом от 512 до 16384. Использование любого другого размера приводит к возникновению исключения. Лучшее время для установки новой длины - после того, как сработало событие загруженных метаданных, когда известна аудиоинформация, но до того, как аудио началось, или события MozAudioAvailable начали срабатывать.</p>
</dd>
<dt>{{domxref("HTMLMediaElement.mozSampleRate")}} {{readonlyinline}} {{non-standard_inline}} {{deprecated_inline}}</dt>
<dd>Возвращает двойное число, представляющее количество семплов в секунду, которые будут воспроизведены. Например, 44100 выборок в секунду - это частота дискретизации, используемая аудио CD.</dd>
<dt>{{domxref("HTMLMediaElement.muted")}}</dt>
- <dd>{{Jsxref ('Boolean')}}, определяющий, отключен ли звук. true, если звук отключен, и false в противном случае.</dd>
+ <dd>{{Jsxref ('Boolean')}}, определяющий, отключён ли звук. true, если звук отключён, и false в противном случае.</dd>
<dt>{{domxref("HTMLMediaElement.networkState")}} {{readonlyinline}}</dt>
<dd>Возвращает unsigned short (перечисление), указывающее текущее состояние выборки мультимедиа по сети.</dd>
<dt>{{domxref("HTMLMediaElement.paused")}} {{readonlyinline}}</dt>
@@ -100,7 +100,7 @@ translation_of: Web/API/HTMLMediaElement
<dt>{{domxref("HTMLMediaElement.src")}}</dt>
<dd>Это {{domxref ("DOMString")}}, который отражает атрибут HTML {{htmlattrxref ("src", "video")}}, который содержит URL-адрес используемого медиа-ресурса.</dd>
<dt>{{domxref("HTMLMediaElement.srcObject")}}</dt>
- <dd>{{Domxref ('MediaStream')}}, представляющий медиафайл для воспроизведения или воспроизведенный в текущем HTMLMediaElement, или null, если не назначен.</dd>
+ <dd>{{Domxref ('MediaStream')}}, представляющий медиафайл для воспроизведения или воспроизведённый в текущем HTMLMediaElement, или null, если не назначен.</dd>
<dt>{{domxref("HTMLMediaElement.textTracks")}} {{readonlyinline}}</dt>
<dd>Возвращает список объектов {{domxref ("TextTrack")}}, содержащихся в элементе.</dd>
<dt>{{domxref("HTMLMediaElement.videoTracks")}} {{readonlyinline}}</dt>
@@ -124,7 +124,7 @@ translation_of: Web/API/HTMLMediaElement
<h2 id="Устаревшие_атрибуты">Устаревшие атрибуты</h2>
-<p>Эти атрибуты устарели и не должны использоваться, даже если браузер все еще поддерживает их.</p>
+<p>Эти атрибуты устарели и не должны использоваться, даже если браузер все ещё поддерживает их.</p>
<dl>
<dt>{{domxref("HTMLMediaElement.initialTime")}} {{readonlyinline}} {{non-standard_inline}} {{obsolete_inline}}</dt>
@@ -177,7 +177,7 @@ translation_of: Web/API/HTMLMediaElement
<h2 id="Устаревшие_методы">Устаревшие методы</h2>
-<p>Эти методы устарели и не должны использоваться, даже если браузер все еще поддерживает их.</p>
+<p>Эти методы устарели и не должны использоваться, даже если браузер все ещё поддерживает их.</p>
<dl>
<dt>{{domxref("HTMLMediaElement.mozLoadFrom()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
@@ -186,7 +186,7 @@ translation_of: Web/API/HTMLMediaElement
<h2 id="События">События </h2>
-<p><em>Наследует методы от своего родителя {{domxref ("HTMLElement")}}, определенного в миксине {{domxref ('GlobalEventHandlers')}}. Обработайте эти события, используя addEventListener () или назначив обработчик событий свойству oneventname этого интерфейса.</em></p>
+<p><em>Наследует методы от своего родителя {{domxref ("HTMLElement")}}, определённого в миксине {{domxref ('GlobalEventHandlers')}}. Обработайте эти события, используя addEventListener () или назначив обработчик событий свойству oneventname этого интерфейса.</em></p>
<dl>
<dt>{{domxref("HTMLMediaElement.abort_event", 'abort')}}</dt>
diff --git a/files/ru/web/api/htmlmediaelement/seeking_event/index.html b/files/ru/web/api/htmlmediaelement/seeking_event/index.html
index 145c72b01b..10c8052325 100644
--- a/files/ru/web/api/htmlmediaelement/seeking_event/index.html
+++ b/files/ru/web/api/htmlmediaelement/seeking_event/index.html
@@ -4,7 +4,7 @@ slug: Web/API/HTMLMediaElement/seeking_event
translation_of: Web/API/HTMLMediaElement/seeking_event
original_slug: Web/HTML/Element/video/seeking_event
---
-<p>Событие 'seeking' в случае, когда идет подгрузка видео</p>
+<p>Событие 'seeking' в случае, когда идёт подгрузка видео</p>
<h2 id="General_info">General info</h2>
diff --git a/files/ru/web/api/htmlorforeignelement/dataset/index.html b/files/ru/web/api/htmlorforeignelement/dataset/index.html
index f69b78492a..2fc2e821ec 100644
--- a/files/ru/web/api/htmlorforeignelement/dataset/index.html
+++ b/files/ru/web/api/htmlorforeignelement/dataset/index.html
@@ -9,10 +9,10 @@ original_slug: Web/API/HTMLElement/dataset
<p>Свойство <code><strong>HTMLElement.dataset</strong></code> предоставляет доступ как для чтения, так и для изменения всех пользовательских дата-атрибутов <a href="/en/HTML/Global_attributes#attr-data-*" title="https://developer.mozilla.org/en/HTML/Global_attributes#attr-data-*">custom data attributes</a> (<code>data-*</code>) , установленных у элемента. Это <a href="/en/DOM/DOMStringMap" title="en/DOM/DOMStringMap">map of DOMString</a>, одна запись для каждого пользовательского атрибута данных. Обратите внимание, свойство <code><strong>dataset</strong></code> доступно только для чтения. Для записи должны использоваться  его "свойства", которые представлены data-атрибутами. Также обратите внимание, что HTML <code><strong>data-</strong></code><em>атрибут</em> и соответствующий ему DOM-<code>dataset.</code><em>property</em> не имеют одно и то же имя, но они всегда похожи:</p>
<ul>
- <li>Имя пользовательского дата атрибута в HTML начинается с "<code>data-</code>". Оно может состоять из букв, цифр и символов: дефис-минус (<code>-</code>, <code>U+002D</code>), точка (<code>.</code>), двоеточие (<code>:</code>), подчеркивание (<code>_</code>). Имя НЕ МОЖЕТ включать в себя заглавные буквы.</li>
+ <li>Имя пользовательского дата атрибута в HTML начинается с "<code>data-</code>". Оно может состоять из букв, цифр и символов: дефис-минус (<code>-</code>, <code>U+002D</code>), точка (<code>.</code>), двоеточие (<code>:</code>), подчёркивание (<code>_</code>). Имя НЕ МОЖЕТ включать в себя заглавные буквы.</li>
<li>Имя пользовательского дата-атрибута в Javascript — это имя того же атрибута в HTML, но с использованием нотации camelCase и без дефисов, точек и т.д.<br>
<br>
- В дополнение к приведенной ниже информации вы найдете руководство по использованию HTML data-атрибутов в нашей статье <a href="/en-US/docs/Learn/HTML/Howto/Use_data_attributes">Использование data-атрибутов</a>.</li>
+ В дополнение к приведённой ниже информации вы найдёте руководство по использованию HTML data-атрибутов в нашей статье <a href="/en-US/docs/Learn/HTML/Howto/Use_data_attributes">Использование data-атрибутов</a>.</li>
</ul>
<h3 id="Преобразование_имён">Преобразование имён</h3>
diff --git a/files/ru/web/api/htmlorforeignelement/nonce/index.html b/files/ru/web/api/htmlorforeignelement/nonce/index.html
index 497dd8a6be..6d03c7529c 100644
--- a/files/ru/web/api/htmlorforeignelement/nonce/index.html
+++ b/files/ru/web/api/htmlorforeignelement/nonce/index.html
@@ -39,7 +39,7 @@ HTMLElement.nonce = <em>nonce</em></pre>
<h2 id="Browser_Compatibility">Browser Compatibility</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="/en-US/docs/">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="/en-US/docs/">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
<p>{{Compat("api.HTMLElement.nonce")}}</p>
</div>
diff --git a/files/ru/web/api/htmlscriptelement/index.html b/files/ru/web/api/htmlscriptelement/index.html
index 82372ff2d2..3d822139d4 100644
--- a/files/ru/web/api/htmlscriptelement/index.html
+++ b/files/ru/web/api/htmlscriptelement/index.html
@@ -32,7 +32,7 @@ translation_of: Web/API/HTMLScriptElement
<tr>
<td><code id="src_property">src</code></td>
<td>{{domxref("DOMString")}}</td>
- <td>Получает и отдает URL внешнего скрипта. Он отражает атрибут {{htmlattrxref("src","script")}}.</td>
+ <td>Получает и отдаёт URL внешнего скрипта. Он отражает атрибут {{htmlattrxref("src","script")}}.</td>
</tr>
<tr>
<td><code id="event_property">event</code>{{obsolete_inline}}</td>
diff --git a/files/ru/web/api/htmltableelement/index.html b/files/ru/web/api/htmltableelement/index.html
index fd23c972b7..cfadd4d95d 100644
--- a/files/ru/web/api/htmltableelement/index.html
+++ b/files/ru/web/api/htmltableelement/index.html
@@ -59,15 +59,15 @@ translation_of: Web/API/HTMLTableElement
<dl>
<dt><a href="/ru/docs/DOM/table.createTHead">table.createTHead</a></dt>
- <dd><strong>createTHead</strong> создает header таблицы.</dd>
+ <dd><strong>createTHead</strong> создаёт header таблицы.</dd>
<dt><a href="/ru/docs/DOM/table.deleteTHead">table.deleteTHead</a></dt>
<dd><strong>deleteTHead</strong> удаляет header таблицы.</dd>
<dt><a href="/ru/docs/DOM/table.createTFoot">table.createTFoot</a></dt>
- <dd><strong>createTFoot</strong> создает footer таблицы.</dd>
+ <dd><strong>createTFoot</strong> создаёт footer таблицы.</dd>
<dt><a href="/ru/docs/DOM/table.deleteTFoot">table.deleteTFoot</a></dt>
<dd><strong>deleteTFoot</strong> удаляет footer таблицы.</dd>
<dt><a href="/ru/docs/DOM/table.createCaption">table.createCaption</a></dt>
- <dd><strong>createCaption</strong> создает заголовок таблицы.</dd>
+ <dd><strong>createCaption</strong> создаёт заголовок таблицы.</dd>
<dt><a href="/ru/docs/DOM/table.deleteCaption">table.deleteCaption</a></dt>
<dd><strong>deleteCaption</strong> удаляет заголовок таблицы.</dd>
<dt><a href="/ru/docs/DOM/table.insertRow">table.insertRow</a></dt>
diff --git a/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html b/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html
index 631575d0cc..20cfec2417 100644
--- a/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html
+++ b/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html
@@ -25,11 +25,11 @@ translation_of: Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB
<h2 id="Обзор_IndexedDB">Обзор IndexedDB</h2>
-<p>IndexedDB позволяет сохранять и извлекать объекты, проиндексированные с помощью "ключа". Все манипуляции над базой данных происходят при помощи транзакций. Как и большинство решений для web-хранилищ, IndexedDB следует <a class="external" href="http://www.w3.org/Security/wiki/Same_Origin_Policy" title="http://www.w3.org/Security/wiki/Same_Origin_Policy">same-origin policy</a>. Поэтому, если получить доступ к сохраненным данным в пределах домена можно, то вне его - нет.</p>
+<p>IndexedDB позволяет сохранять и извлекать объекты, проиндексированные с помощью "ключа". Все манипуляции над базой данных происходят при помощи транзакций. Как и большинство решений для web-хранилищ, IndexedDB следует <a class="external" href="http://www.w3.org/Security/wiki/Same_Origin_Policy" title="http://www.w3.org/Security/wiki/Same_Origin_Policy">same-origin policy</a>. Поэтому, если получить доступ к сохранённым данным в пределах домена можно, то вне его - нет.</p>
<p>IndexedDB - <a href="/en/IndexedDB#Asynchronous_API" title="https://developer.mozilla.org/en/IndexedDB#Asynchronous_API">асинхронное</a> API, которое может быть использовано в большинстве контекстов, включая <a href="/ru/docs/Web/API/Web_Workers_API/Using_web_workers" title="https://developer.mozilla.org/En/Using_web_workers">Web Workers</a>. Раньше оно включало <a href="/en/IndexedDB#Synchronous_API" title="https://developer.mozilla.org/en/IndexedDB#Synchronous_API">синхронную</a> версию, для использования в web workers, но это было удалено из спецификации в связи с недостатком интереса внутри web-сообщества.</p>
-<p>Существует так же конкурирующая с IndexedDB спецификация, WebSQL Database, но W3C исключила ее 18 ноября 2010. Хотя IndexedDB и WebSQL оба являются решением для хранилищ, они предоставляют различный функционал. WebSQL Database - реляционная система доступа к базам данных, когда IndexedDB - система индексированной таблицы.</p>
+<p>Существует так же конкурирующая с IndexedDB спецификация, WebSQL Database, но W3C исключила её 18 ноября 2010. Хотя IndexedDB и WebSQL оба являются решением для хранилищ, они предоставляют различный функционал. WebSQL Database - реляционная система доступа к базам данных, когда IndexedDB - система индексированной таблицы.</p>
<h2 id="concepts" name="concepts">Big concepts</h2>
diff --git a/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html b/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html
index 93f8f9634e..e81311aaae 100644
--- a/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html
+++ b/files/ru/web/api/indexeddb_api/browser_storage_limits_and_eviction_criteria/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criter
<p class="summary">Существует целый ряд веб-технологий, которые хранят данные того или иного рода на стороне клиента (то есть на локальном диске). Процесс, с помощью которого браузер решает, сколько места выделить для хранения веб-данных и что удалить, когда этот предел будет достигнут, не прост и отличается между браузерами. В этой статье описывается, как браузеры определяют, какой локальный контент следует очистить и когда, чтобы освободить необходимое локальное пространство для хранения.</p>
<div class="note">
-<p><strong>Примечание</strong>: приведенная ниже информация должна быть достаточно точной для большинства современных браузеров, но специфика браузера вызывается там, где она известна. Opera и Chrome должны вести себя одинаково во всех случаях. Opera Mini (все еще основанная на presto, серверная визуализация) не хранит никаких данных на клиенте.</p>
+<p><strong>Примечание</strong>: приведённая ниже информация должна быть достаточно точной для большинства современных браузеров, но специфика браузера вызывается там, где она известна. Opera и Chrome должны вести себя одинаково во всех случаях. Opera Mini (все ещё основанная на presto, серверная визуализация) не хранит никаких данных на клиенте.</p>
</div>
<h2 id="Какие_технологии_используют_браузерные_хранилища_данных">Какие технологии используют браузерные хранилища данных?</h2>
@@ -27,11 +27,11 @@ translation_of: Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criter
</ul>
<div class="note">
-<p><strong>Примечание</strong>: В Firefox веб-хранилище скоро начнет использовать те же инструменты управления хранилищем, что и в этом документе.</p>
+<p><strong>Примечание</strong>: В Firefox веб-хранилище скоро начнёт использовать те же инструменты управления хранилищем, что и в этом документе.</p>
</div>
<div class="note">
-<p><strong>Примечание</strong>: в режиме приватного просмотра большинство хранилищ данных не поддерживается. Данные локального хранилища и файлы cookie все еще хранятся, но они эфемерны — данные удаляются, когда вы закрываете последнее окно приватного просмотра.</p>
+<p><strong>Примечание</strong>: в режиме приватного просмотра большинство хранилищ данных не поддерживается. Данные локального хранилища и файлы cookie все ещё хранятся, но они эфемерны — данные удаляются, когда вы закрываете последнее окно приватного просмотра.</p>
</div>
<p>The "last access time" of origins is updated when any of these are activated/deactivated — origin eviction will delete data for all these quota clients.</p>
diff --git a/files/ru/web/api/indexeddb_api/index.html b/files/ru/web/api/indexeddb_api/index.html
index 5a951d7da7..c759014ee2 100644
--- a/files/ru/web/api/indexeddb_api/index.html
+++ b/files/ru/web/api/indexeddb_api/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/IndexedDB_API
---
<div>{{DefaultAPISidebar("IndexedDB")}}</div>
-<p>IndexedDB — низкоуровневое API для клиентского хранилища большого объема структурированных данных, включая файлы/blobs. Эти API используют индексы для обеспечения высоко-производительного поиска данных. Если <a href="/en-US/docs/DOM/Storage">DOM Storage</a>  полезен для хранения небольшого количества данных, он менее выгоден для большого числа структурированных данных. IndexedDB предоставляет решение. Это основная страница на MDN, покрывающая IndexedDB — здесь мы предоставляем ссылки к полному списку API и руководствам по использованию, детали поддержки браузерами и некоторые объяснения ключевых концепций.</p>
+<p>IndexedDB — низкоуровневое API для клиентского хранилища большого объёма структурированных данных, включая файлы/blobs. Эти API используют индексы для обеспечения высоко-производительного поиска данных. Если <a href="/en-US/docs/DOM/Storage">DOM Storage</a>  полезен для хранения небольшого количества данных, он менее выгоден для большого числа структурированных данных. IndexedDB предоставляет решение. Это основная страница на MDN, покрывающая IndexedDB — здесь мы предоставляем ссылки к полному списку API и руководствам по использованию, детали поддержки браузерами и некоторые объяснения ключевых концепций.</p>
<p>{{AvailableInWorkers}}</p>
@@ -22,7 +22,7 @@ translation_of: Web/API/IndexedDB_API
<h2 id="Ключевые_концепции_и_использование">Ключевые концепции и  использование</h2>
-<p>IndexedDB транзакционная система базы данных, как SQL-основанная RDBMS. Однако, в отличие от RDBMS, которая использует таблицы с фиксированными колонками, IndexedDB — JavaScript-основанная объектно-ориентированная база данных. IndexedDB позволяет сохранять и возвращать объекты, которые были проиндексированы с <strong>ключом</strong>; любой объект, поддерживаемый <a href="/en-US/docs/Web/Guide/API/DOM/The_structured_clone_algorithm">структурированным алгоритмом клонирования</a> может быть сохранен. Необходимо описать схему базы данных, установить соединение с ней и затем получить и обновить данные за несколько <strong>транзакций</strong>.</p>
+<p>IndexedDB транзакционная система базы данных, как SQL-основанная RDBMS. Однако, в отличие от RDBMS, которая использует таблицы с фиксированными колонками, IndexedDB — JavaScript-основанная объектно-ориентированная база данных. IndexedDB позволяет сохранять и возвращать объекты, которые были проиндексированы с <strong>ключом</strong>; любой объект, поддерживаемый <a href="/en-US/docs/Web/Guide/API/DOM/The_structured_clone_algorithm">структурированным алгоритмом клонирования</a> может быть сохранён. Необходимо описать схему базы данных, установить соединение с ней и затем получить и обновить данные за несколько <strong>транзакций</strong>.</p>
<ul>
<li>Читайте больше о <a href="/en-US/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB">Концепции IndexedDB</a>.</li>
@@ -63,7 +63,7 @@ translation_of: Web/API/IndexedDB_API
<dl>
<dt>{{domxref("IDBTransaction")}}</dt>
- <dd>Представляет транзакцию. Вы создаете транзакцию в базе данных, указываете область действия (например, к каким хранилищам объектов вы хотите получить доступ) и определяете тип доступа (только чтение или чтение/запись), который вам нужен.</dd>
+ <dd>Представляет транзакцию. Вы создаёте транзакцию в базе данных, указываете область действия (например, к каким хранилищам объектов вы хотите получить доступ) и определяете тип доступа (только чтение или чтение/запись), который вам нужен.</dd>
<dt>{{domxref("IDBRequest")}}</dt>
<dd>Generic interface that handles database requests and provides access to results.</dd>
<dt>{{domxref("IDBObjectStore")}}</dt>
@@ -75,9 +75,9 @@ translation_of: Web/API/IndexedDB_API
<dt>{{domxref("IDBCursorWithValue")}}</dt>
<dd>Итерирует по хранилищам объектов и индексам и возвращает текущее значение курсора.</dd>
<dt>{{domxref("IDBKeyRange")}}</dt>
- <dd>Определяет диапазон ключей, который можно использовать для извлечения данных из базы данных в определенном диапазоне.</dd>
+ <dd>Определяет диапазон ключей, который можно использовать для извлечения данных из базы данных в определённом диапазоне.</dd>
<dt>{{domxref("IDBLocaleAwareKeyRange")}} {{Non-standard_inline}}</dt>
- <dd>Определяет диапазон ключей, который можно использовать для извлечения данных из базы данных в определенном диапазоне, отсортированных в соответствии с правилами локали, указанной для определенного индекса (см. <a href="/en-US/docs/Web/API/IDBObjectStore/createIndex#Parameters"><code>createIndex()</code>'s optionalParameters</a>.). Этот интерфейс не входит в спецификацию 2.0.</dd>
+ <dd>Определяет диапазон ключей, который можно использовать для извлечения данных из базы данных в определённом диапазоне, отсортированных в соответствии с правилами локали, указанной для определённого индекса (см. <a href="/en-US/docs/Web/API/IDBObjectStore/createIndex#Parameters"><code>createIndex()</code>'s optionalParameters</a>.). Этот интерфейс не входит в спецификацию 2.0.</dd>
</dl>
<h3 id="Пользовательские_интерфейсы_событий">Пользовательские интерфейсы событий</h3>
@@ -91,11 +91,11 @@ translation_of: Web/API/IndexedDB_API
<h3 id="Устаревшие_интерфейсы">Устаревшие интерфейсы</h3>
-<p>Ранняя версия спецификации также определяла эти теперь удаленные интерфейсы. Они все еще задокументированы на тот случай, если вам понадобится обновить ранее написанный код:</p>
+<p>Ранняя версия спецификации также определяла эти теперь удалённые интерфейсы. Они все ещё задокументированы на тот случай, если вам понадобится обновить ранее написанный код:</p>
<dl>
<dt>{{domxref("IDBVersionChangeRequest")}} {{obsolete_inline}}</dt>
- <dd>Представляет запрос на изменение версии базы данных. С тех пор способ изменения версии базы данных изменился (путем вызова {{domxref("IDBFactory.open")}} без вызова {{domxref("IDBDatabase.setVersion")}}), а интерфейс {{domxref("IDBOpenDBRequest")}} теперь имеет функциональность удаленного {{domxref("IDBVersionChangeRequest")}}.</dd>
+ <dd>Представляет запрос на изменение версии базы данных. С тех пор способ изменения версии базы данных изменился (путём вызова {{domxref("IDBFactory.open")}} без вызова {{domxref("IDBDatabase.setVersion")}}), а интерфейс {{domxref("IDBOpenDBRequest")}} теперь имеет функциональность удалённого {{domxref("IDBVersionChangeRequest")}}.</dd>
<dt>{{domxref("IDBDatabaseException")}}  {{obsolete_inline}}</dt>
<dd>Представляет исключения, которые могут возникнуть при выполнении операций с базой данных.</dd>
<dt>{{domxref("IDBTransactionSync")}} {{obsolete_inline}}</dt>
@@ -148,7 +148,7 @@ translation_of: Web/API/IndexedDB_API
<ul>
<li><a href="https://localforage.github.io/localForage/">localForage</a>: Polyfill, предоставляющий простое имя: синтаксис значения для клиентского хранилища данных, которое использует IndexedDB в фоновом режиме, но обращается к WebSQL, а затем к localStorage в браузерах, которые не поддерживают IndexedDB.</li>
- <li><a href="http://www.dexie.org/">Dexie.js</a>: Обертка для IndexedDB, позволяющая значительно ускорить разработку кода благодаря красивому и простому синтаксису.</li>
+ <li><a href="http://www.dexie.org/">Dexie.js</a>: Обёртка для IndexedDB, позволяющая значительно ускорить разработку кода благодаря красивому и простому синтаксису.</li>
<li><a href="https://github.com/erikolson186/zangodb">ZangoDB</a>: Интерфейс, подобный MongoDB, для IndexedDB, который поддерживает большинство знакомых функций фильтрации, проекции, сортировки, обновления и агрегирования MongoDB.</li>
<li><a href="http://jsstore.net/">JsStore</a>: Оболочка IndexedDB с синтаксисом, подобным SQL.</li>
<li><a href="https://github.com/mWater/minimongo">MiniMongo</a>: Клиентский MongoDB, поддерживаемый localStorage, с синхронизацией сервера по http. MiniMongo используется в MeteorJS.</li>
diff --git a/files/ru/web/api/indexeddb_api/using_indexeddb/index.html b/files/ru/web/api/indexeddb_api/using_indexeddb/index.html
index 824a0372d0..cc7345e92b 100644
--- a/files/ru/web/api/indexeddb_api/using_indexeddb/index.html
+++ b/files/ru/web/api/indexeddb_api/using_indexeddb/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/IndexedDB_API/Using_IndexedDB
<div class="warning">Некоторые части документа не переведены, в основном это повсеместно принятые в программировании рекомендации, такие как обработка ошибок или что-то очевидное. Тем не менее Вы можете/должны продолжить перевод. Главная цель перевода - понять основные концепции IndexedDB, обратить внимание на важные нюансы, прокомментировать исходный код и может быть добавить примеры.</div>
-<p>Справочную документацию по IndexedDB API вы найдете в документе <a href="/en/IndexedDB" title="https://developer.mozilla.org/en/IndexedDB">IndexedDB.</a> В нем описаны типы объектов, используемых в IndexedDB, а также синхронный и асинхронный API.</p>
+<p>Справочную документацию по IndexedDB API вы найдёте в документе <a href="/en/IndexedDB" title="https://developer.mozilla.org/en/IndexedDB">IndexedDB.</a> В нем описаны типы объектов, используемых в IndexedDB, а также синхронный и асинхронный API.</p>
<h2 id="pattern" name="pattern">Типичная схема работы с базой</h2>
@@ -36,11 +36,11 @@ translation_of: Web/API/IndexedDB_API/Using_IndexedDB
<h2 id="open" name="open">Создание и структурирование хранилища</h2>
-<p>Так как спецификация пока еще находится в процессе разработки, то текущие реализации IndexedDB отличаются у различных браузеров и могут содержать имена объектов, включающие в себя префиксы браузеров. Однако, как только стандарт будет принят,  префиксы будут удалены. К настоящему моменту префиксы уже удалены в реализациях IndexedDB в Internet Explorer 10, Firefox 16 и Chrome 24. Браузеры, построенные на базе Gecko пока еще используют префикс <code>moz,</code> а браузеры на базе движка <code>webkit</code> используют префикс <code>webkit.</code></p>
+<p>Так как спецификация пока ещё находится в процессе разработки, то текущие реализации IndexedDB отличаются у различных браузеров и могут содержать имена объектов, включающие в себя префиксы браузеров. Однако, как только стандарт будет принят,  префиксы будут удалены. К настоящему моменту префиксы уже удалены в реализациях IndexedDB в Internet Explorer 10, Firefox 16 и Chrome 24. Браузеры, построенные на базе Gecko пока ещё используют префикс <code>moz,</code> а браузеры на базе движка <code>webkit</code> используют префикс <code>webkit.</code></p>
<h3 id="Использование_экспериментальной_версии_IndexedDB">Использование экспериментальной версии IndexedDB</h3>
-<p>Для того, чтобы протестировать ваше веб-приложение на браузерах, которые пока еще не отказались от префикса, можно воспользоваться следующим кодом:</p>
+<p>Для того, чтобы протестировать ваше веб-приложение на браузерах, которые пока ещё не отказались от префикса, можно воспользоваться следующим кодом:</p>
<pre class="brush: js">// проверяем существования префикса.
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
@@ -67,9 +67,9 @@ var request = window.indexedDB.open("MyTestDatabase", 3);
<p>Видите? Открытие базы данных, подобно любым другим операциям, запускается запросом.</p>
-<p>На  самом деле запрос открытия базы данных не приводит к немедленному открытию базы или запуску транзакции. Вызов функции<code> open()</code> вернет объект <a href="/en-US/docs/IndexedDB/IDBOpenDBRequest" title="/en-US/docs/IndexedDB/IDBOpenDBRequest"><code>IDBOpenDBRequest</code></a> , содержащий результат (если успешно) или ошибку, которую вы можете обработать как событие. Большинство других асинхронных функций IndexedDB делает то же самое - возвращает объект <a href="/en-US/docs/IndexedDB/IDBRequest" title="/en-US/docs/IndexedDB/IDBRequest"><code style="font-size: 14px; color: rgb(51, 51, 51);">IDBRequest</code></a>  с результатом или ошибкой. Результат функции open всегда возвращает экземпляр объекта <code style="font-size: 14px; color: rgb(51, 51, 51);"><a href="/en-US/docs/IndexedDB/IDBDatabase" title="/en-US/docs/IndexedDB/IDBDatabase">IDBDatabase</a>.</code></p>
+<p>На  самом деле запрос открытия базы данных не приводит к немедленному открытию базы или запуску транзакции. Вызов функции<code> open()</code> вернёт объект <a href="/en-US/docs/IndexedDB/IDBOpenDBRequest" title="/en-US/docs/IndexedDB/IDBOpenDBRequest"><code>IDBOpenDBRequest</code></a> , содержащий результат (если успешно) или ошибку, которую вы можете обработать как событие. Большинство других асинхронных функций IndexedDB делает то же самое - возвращает объект <a href="/en-US/docs/IndexedDB/IDBRequest" title="/en-US/docs/IndexedDB/IDBRequest"><code style="font-size: 14px; color: rgb(51, 51, 51);">IDBRequest</code></a>  с результатом или ошибкой. Результат функции open всегда возвращает экземпляр объекта <code style="font-size: 14px; color: rgb(51, 51, 51);"><a href="/en-US/docs/IndexedDB/IDBDatabase" title="/en-US/docs/IndexedDB/IDBDatabase">IDBDatabase</a>.</code></p>
-<p>Второй параметр метода open - это версия базы данных. Версия определяет схему базы данных - хранилище объектов  и их структуру . Если база данных еще не существует, то она создается операцией <code>open,</code> затем срабатывает триггер события <code>onupgradeneeded </code>и после этого  ваш обработчик этого события создает схему базы данных. Если же база данных уже существует, а вы указываете новый номер версии, то сразу же срабатывает триггер события <code>onupgradeneeded,</code> позволяя вам обновить схему базы данных в обработчике. Подробнее об этом см. в <a href="#Updating_the_version_of_the_database">Обновление версии базы данных</a> ниже и на странице {{ domxref("IDBFactory.open") }} справочника</p>
+<p>Второй параметр метода open - это версия базы данных. Версия определяет схему базы данных - хранилище объектов  и их структуру . Если база данных ещё не существует, то она создаётся операцией <code>open,</code> затем срабатывает триггер события <code>onupgradeneeded </code>и после этого  ваш обработчик этого события создаёт схему базы данных. Если же база данных уже существует, а вы указываете новый номер версии, то сразу же срабатывает триггер события <code>onupgradeneeded,</code> позволяя вам обновить схему базы данных в обработчике. Подробнее об этом см. в <a href="#Updating_the_version_of_the_database">Обновление версии базы данных</a> ниже и на странице {{ domxref("IDBFactory.open") }} справочника</p>
<div class="warning">
<p>Версия базы данных имеет внутреннее представление <code>unsigned long long</code> number (длинное длинное целое без знака), то есть может принимать очень большие целые значения. Имейте в виду также, что нет смысла использовать в качестве версии базы данных значение с плавающей точкой (float), потому что оно будет сконвертировано в ближайшее меньшее целое. В результате неожиданно может не запуститься транзакция или сработать триггер события <code>upgradeneeded</code>. Например, не используйте значение  2.4 как версию базы данных:</p>
@@ -90,11 +90,11 @@ request.onsuccess = function(event) {
<p>Какая из двух функций<code> - onsuccess()</code> или <code>onerror()</code> - должна быть вызвана?  Если всё в порядке - то инициируется событие успеха (это событие DOM,  свойство type которого выставлено в <code>"success"</code>)  с <code>request</code> в качестве <code>target</code>. Это вызывает запуск  функции <code>onsuccess()</code> объекта <code>request</code>  с событием успеха в качестве аргумента. В противном случае, если возникают какие-то проблемы, то происходит событие ошибки (то есть событие DOM, свойство <code>type</code> которого установлено в  <code>"error"</code>) . Это приводит к запуску  функции <code><code>onerror()</code></code> с событием ошибки в качестве аргумента.</p>
-<p>IndexedDB API разработан так, чтобы минимизировать необходимость обработки ошибок, поэтому скорее всего вы не встретите много событий ошибки запроса (по крайней мере если вы будете использовать этот API!). Однако при открытии базы данных есть несколько общих условий, которые генерируют события ошибок. Наиболее вероятной проблемой является запрет вашему веб-приложению на создание базы данных, установленный пользователем в браузере. Одной из основных целей разработки IndexedDB - это обеспечение возможности сохранения больших объемов данных для использования офлайн. (Чтобы узнать,  сколько памяти вы можете использовать в разных браузерах, обратитесь к <a href="/en/IndexedDB#Storage_limits" title="https://developer.mozilla.org/en/IndexedDB#Storage_limits">Ограничениям памяти</a>).</p>
+<p>IndexedDB API разработан так, чтобы минимизировать необходимость обработки ошибок, поэтому скорее всего вы не встретите много событий ошибки запроса (по крайней мере если вы будете использовать этот API!). Однако при открытии базы данных есть несколько общих условий, которые генерируют события ошибок. Наиболее вероятной проблемой является запрет вашему веб-приложению на создание базы данных, установленный пользователем в браузере. Одной из основных целей разработки IndexedDB - это обеспечение возможности сохранения больших объёмов данных для использования офлайн. (Чтобы узнать,  сколько памяти вы можете использовать в разных браузерах, обратитесь к <a href="/en/IndexedDB#Storage_limits" title="https://developer.mozilla.org/en/IndexedDB#Storage_limits">Ограничениям памяти</a>).</p>
<p>Конечно же, браузеры стремятся не позволить назойливым рекламным сетям или вредоносным сайтам засорять ваш компьютер. Поэтому при первой попытке любого веб-приложения открыть хранилище IndexedDB, браузер запрашивает разрешение пользователя. Пользователь может выбрать - то ли разрешить, то ли запретить доступ. Кроме этого, в приватных режимах браузеров (частный просмотр для Firefox и режим инкогнито для Chrome), IndexedDB полностью запрещена для использования. Так как цель приватных режимов - не оставлять следов, то открытие базы данных невозможно в таких режимах.</p>
-<p>А теперь предположим, что пользователь разрешил вашему запросу создать базу данных и состоялось событие успеха, запустившее обработчик события успеха. Что дальше? Так как ваш запрос был сгенерирован с вызовом метода <code>indexedDB.open(), то </code><code>request.result</code>   является экземпляром объекта <code>IDBDatabase</code> и вы определенно захотите сохранить его для будущего использования. Ваш код может выглядеть примерно так:</p>
+<p>А теперь предположим, что пользователь разрешил вашему запросу создать базу данных и состоялось событие успеха, запустившее обработчик события успеха. Что дальше? Так как ваш запрос был сгенерирован с вызовом метода <code>indexedDB.open(), то </code><code>request.result</code>   является экземпляром объекта <code>IDBDatabase</code> и вы определённо захотите сохранить его для будущего использования. Ваш код может выглядеть примерно так:</p>
<pre class="brush: js"><code class="language-js"><span class="keyword token">var</span> db<span class="punctuation token">;</span>
<span class="keyword token">var</span> request <span class="operator token">=</span> indexedDB<span class="punctuation token">.</span><span class="function token">open<span class="punctuation token">(</span></span><span class="string token">"MyTestDatabase"</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
@@ -116,17 +116,17 @@ request<span class="punctuation token">.</span>onsuccess <span class="operator t
};
</pre>
-<p>Одной из возможных ошибок при открытии базы данных является <code>VER_ERR. </code>Она сигнализирует о том, что версия базы данных, сохраненная на диске, <em>больше</em>, чем версия, которую вы пытаетесь открыть. Такая ошибка должна быть в обязательном порядке обработана обработчиком ошибок. </p>
+<p>Одной из возможных ошибок при открытии базы данных является <code>VER_ERR. </code>Она сигнализирует о том, что версия базы данных, сохранённая на диске, <em>больше</em>, чем версия, которую вы пытаетесь открыть. Такая ошибка должна быть в обязательном порядке обработана обработчиком ошибок. </p>
<h3 id="Создание_или_обновление_версии_базы_данных">Создание или обновление версии базы данных</h3>
-<p>Когда вы создаете новую базу данных или увеличиваете номер версии существующей базы данных (задавая больший номер версии, чем тот номер, который был вами указан при <a href="https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB#Opening_a_database">Opening a database</a>) запускается событие <code style="font-size: 14px; color: rgb(51, 51, 51);">onupgradeneeded</code>. В обработчике этого события вы должны создать хранилище объектов, необходимое для этой версии базы данных:</p>
+<p>Когда вы создаёте новую базу данных или увеличиваете номер версии существующей базы данных (задавая больший номер версии, чем тот номер, который был вами указан при <a href="https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB#Opening_a_database">Opening a database</a>) запускается событие <code style="font-size: 14px; color: rgb(51, 51, 51);">onupgradeneeded</code>. В обработчике этого события вы должны создать хранилище объектов, необходимое для этой версии базы данных:</p>
<pre class="brush:js;">// Это событие появилось только в самых новых браузерах
request.onupgradeneeded = function(event) {
var db = event.target.result;
- // Создаем хранилище объектов для этой базы данных
+ // Создаём хранилище объектов для этой базы данных
var objectStore = db.createObjectStore("name", { keyPath: "myKey" });
};</pre>
diff --git a/files/ru/web/api/inputevent/index.html b/files/ru/web/api/inputevent/index.html
index 8dd6cc087e..1bf9b77f4b 100644
--- a/files/ru/web/api/inputevent/index.html
+++ b/files/ru/web/api/inputevent/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/InputEvent
<dl>
<dt>{{domxref("InputEvent.InputEvent", "InputEvent()")}}</dt>
- <dd>Создает <code>InputEvent</code> объект.</dd>
+ <dd>Создаёт <code>InputEvent</code> объект.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/intersection_observer_api/index.html b/files/ru/web/api/intersection_observer_api/index.html
index bd086266e6..bd1354931e 100644
--- a/files/ru/web/api/intersection_observer_api/index.html
+++ b/files/ru/web/api/intersection_observer_api/index.html
@@ -10,12 +10,12 @@ translation_of: Web/API/Intersection_Observer_API
<p class="summary">Intersection Observer API позволяет веб-приложениям асинхронно следить за изменением пересечения элемента с его родителем или областью видимости документа {{Glossary("viewport")}}.</p>
-<p>Исторически обнаружение видимости отдельного элемента или видимости двух элементов по отношению друг к другу было непростой задачей. Варианты решения этой задачи были ненадежными и замедляли работу браузера. К несчастью, по мере того как веб "взрослел", потребность в решении этой проблемы только росла по многим причинам, таким как:</p>
+<p>Исторически обнаружение видимости отдельного элемента или видимости двух элементов по отношению друг к другу было непростой задачей. Варианты решения этой задачи были ненадёжными и замедляли работу браузера. К несчастью, по мере того как веб "взрослел", потребность в решении этой проблемы только росла по многим причинам, таким как:</p>
<ul>
<li>Отложенная загрузка изображений или другого контента по мере прокрутки страницы.</li>
<li>Реализация веб-сайтов с "бесконечным скроллом", где контент подгружается по мере того как страница прокручивается вниз, и пользователю не нужно переключаться между страницами.</li>
- <li>Отчет о видимости рекламы с целью посчитать доходы от нее.</li>
+ <li>Отчёт о видимости рекламы с целью посчитать доходы от нее.</li>
<li>Принятие решения, запускать ли какой-то процесс или анимацию в зависимости от того, увидит пользователь результат или нет.</li>
</ul>
@@ -23,7 +23,7 @@ translation_of: Web/API/Intersection_Observer_API
<p>Рассмотрим веб-страницу с бесконечным скроллом. На ней используется библиотека для управления периодически размещаемой по всей странице рекламой, повсюду анимированная графика, а также библиотека для отображения всплывающих окон. И все эти вещи используют свои собственные правила для обнаружения пересечений, и все они запущены в основном потоке. Автор сайта может даже не подозревать об этой проблеме, а также может не знать, как работают сторонние библиотеки изнутри. В то же время пользователь по ходу прокрутки страницы сталкивается с тем, что работа сайта замедляется постоянным срабатыванием обнаружения пересечения, что в итоге приводит к тому, что пользователь недоволен браузером, сайтом и  своим компьютером.</p>
-<p>Intersection Observer API даёт возможность зарегистрировать колбэк-функцию, которая выполнится при пересечении наблюдаемым элементом границ другого элемента (или области видимости документа {{Glossary("viewport")}}), либо при изменении величины пересечения на определенное значение. Таким образом, больше нет необходимости вычислять пересечение элементов в основном потоке, и браузер может оптимизировать эти процессы на своё усмотрение.</p>
+<p>Intersection Observer API даёт возможность зарегистрировать колбэк-функцию, которая выполнится при пересечении наблюдаемым элементом границ другого элемента (или области видимости документа {{Glossary("viewport")}}), либо при изменении величины пересечения на определённое значение. Таким образом, больше нет необходимости вычислять пересечение элементов в основном потоке, и браузер может оптимизировать эти процессы на своё усмотрение.</p>
<p>Observer API не позволит узнать точное число пикселей или определить конкретные пиксели в пересечении; однако, его использование покрывает наиболее частые сценарии вроде "Если элементы пересекаются на N%, сделай то-то".</p>
@@ -35,7 +35,7 @@ translation_of: Web/API/Intersection_Observer_API
<p>Используете ли вы область видимости или другой элемент в качестве корневого, API работает одинаково, вызывая заданную вами колбэк-функцию, всякий раз, когда видимость целевого элемента изменяет так, что она пересекает в нужной степени корневой элемент.</p>
-<p>Степень пересечения целевого и корневого элемента задается в диапазоне от  0.0 до 1.0, где 1.0 это полное пересечение целевого элемента границ корневого.</p>
+<p>Степень пересечения целевого и корневого элемента задаётся в диапазоне от  0.0 до 1.0, где 1.0 это полное пересечение целевого элемента границ корневого.</p>
<h3 id="Пример_использования">Пример использования</h3>
@@ -97,7 +97,7 @@ observer.observe(target);
<dt>{{domxref("IntersectionObserver")}}</dt>
<dd>Основной интерфейс для API Intersection Observer. Предоставляет методы для создания и управления observer, который может наблюдать любое количество целевых элементов для одной и той же конфигурации пересечения. Каждый observer может асинхронно наблюдать изменения в пересечении между одним или несколькими целевыми элементами и общим элементом-предком или с их верхним уровнем {{domxref("Document")}}'s {{Glossary('viewport')}}. Предок или область просмотра упоминается как <strong>root</strong>.</dd>
<dt>{{domxref("IntersectionObserverEntry")}}</dt>
- <dd>Описывает пересечение между целевым элементом и его корневым контейнером в определенный момент перехода. Объекты этого типа могут быть получены только двумя способами: в качестве входных данных для вашего колбэка IntersectionObserver или путем вызова {{domxref ("IntersectionObserver.takeRecords()")}}.</dd>
+ <dd>Описывает пересечение между целевым элементом и его корневым контейнером в определённый момент перехода. Объекты этого типа могут быть получены только двумя способами: в качестве входных данных для вашего колбэка IntersectionObserver или путём вызова {{domxref ("IntersectionObserver.takeRecords()")}}.</dd>
</dl>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html b/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html
index b4fb095993..b7f1bf0997 100644
--- a/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html
+++ b/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html
@@ -53,7 +53,7 @@ translation_of: Web/API/Intersection_Observer_API/Timing_element_visibility
<h3 id="Основа">Основа</h3>
-<p>Мы создаем стили для {{HTMLElement("body")}} и {{HTMLElement("main")}} так, чтобы определить фоновый цвет и сеточную систему.</p>
+<p>Мы создаём стили для {{HTMLElement("body")}} и {{HTMLElement("main")}} так, чтобы определить фоновый цвет и сеточную систему.</p>
<pre class="brush: css notranslate">body {
font-family: "Open Sans", "Arial", "Helvetica", sans-serif;
@@ -93,7 +93,7 @@ translation_of: Web/API/Intersection_Observer_API/Timing_element_visibility
<h3 id="Боковая_панель">Боковая панель</h3>
-<p>Боковая панель используется для показа ссылок на другие страницы приложения. Ни одна из них не будет работать в нашем примере. Вся боковая панель нужна, чтобы просто приблизить внешний вид приложения к реальному блогу. Боковая панель создается с помощью элемента {{HTMLElement("aside")}}.</p>
+<p>Боковая панель используется для показа ссылок на другие страницы приложения. Ни одна из них не будет работать в нашем примере. Вся боковая панель нужна, чтобы просто приблизить внешний вид приложения к реальному блогу. Боковая панель создаётся с помощью элемента {{HTMLElement("aside")}}.</p>
<pre class="brush: css notranslate">aside {
grid-column: 1;
@@ -185,7 +185,7 @@ article h2 {
<h2 id="Совмещаем_с_JavaScript">Совмещаем с JavaScript</h2>
-<p>Перейдём к JavaScript коду, который всё оживит. Начнем с глобальных переменных:</p>
+<p>Перейдём к JavaScript коду, который всё оживит. Начнём с глобальных переменных:</p>
<pre class="brush: js notranslate">let contentBox;
@@ -243,7 +243,7 @@ function startup() {
<p>Параметр "порог" (<code>threshold</code>) содержит массив со значениями 0.0 и 0.75; Это заставит обработчик вызываться каждый раз, когда целевой элемент становится полностью обёрнут или только начинает выходить из зоны перекрытия (коэффициент перекрытия 0.0) или проходит порог в 75% видимости в обоих направлениях (коэффициент перекрытия 0.75).</p>
-<p>Наблюдатель <code>adObserver</code> создается с помощью конструктора <code>IntersectionObserver</code>. В аргументы конструктора мы передаём колбэк-функцию (<code>intersectionCallback</code>) и ранее определенный объект параметров.</p>
+<p>Наблюдатель <code>adObserver</code> создаётся с помощью конструктора <code>IntersectionObserver</code>. В аргументы конструктора мы передаём колбэк-функцию (<code>intersectionCallback</code>) и ранее определённый объект параметров.</p>
<p>После этого мы вызываем функцию <code>buildContents()</code>. Её мы напишем чуть позже. Функция генерирует и вставляет в контейнер статьи и рекламные блоки.</p>
@@ -280,7 +280,7 @@ function startup() {
<h3 id="Обработчик_изменений_наложения">Обработчик изменений наложения</h3>
-<p>При каждой итерации в браузерном event loop, каждый наблюдатель  {{domxref("IntersectionObserver")}} проверяет, не прошел ли какой-либо из элементов-целей через пороговые значения наблюдателя.  Для каждого наблюдателя список таких целей собирается в один список и отправляется в колбэк-функцию наблюдателя. Каждый элемент списка - это {{domxref("IntersectionObserverEntry")}} объект. В нашем приложении <code>intersectionCallback()</code> выглядит так:</p>
+<p>При каждой итерации в браузерном event loop, каждый наблюдатель  {{domxref("IntersectionObserver")}} проверяет, не прошёл ли какой-либо из элементов-целей через пороговые значения наблюдателя.  Для каждого наблюдателя список таких целей собирается в один список и отправляется в колбэк-функцию наблюдателя. Каждый элемент списка - это {{domxref("IntersectionObserverEntry")}} объект. В нашем приложении <code>intersectionCallback()</code> выглядит так:</p>
<pre class="brush: js notranslate">function intersectionCallback(entries) {
entries.forEach(function(entry) {
@@ -361,7 +361,7 @@ function startup() {
<dd>Общее время видимости рекламного блока.</dd>
</dl>
-<p>Значение этих атрибутов можно получить с помощью {{domxref("HTMLElement.dataset")}}. Значения - строки, но вы можете конвертировать их в числа. Фактически, JavaScript делает это автоматически, но нам всё равно придется в одном месте сделать это вручную.</p>
+<p>Значение этих атрибутов можно получить с помощью {{domxref("HTMLElement.dataset")}}. Значения - строки, но вы можете конвертировать их в числа. Фактически, JavaScript делает это автоматически, но нам всё равно придётся в одном месте сделать это вручную.</p>
<p>Функция начинается с выяснения времени, когда происходила последняя проверка видимости рекламы (<code>adBox.dataset.lastViewStarted</code>). Мы также получаем текущее время с момента создания документа с помощью {{domxref("Performance.now", "performance.now()")}} <code>currentTime</code>.</p>
@@ -371,7 +371,7 @@ function startup() {
<h3 id="Показываем_таймер_рекламы">Показываем таймер рекламы</h3>
-<p>Внутри каждого рекламного блока мы отображаем текущее значение общего времени видимости в формате мин:сек. Для этого мы передаем в функцию <code>drawAdTimer</code> контейнер:</p>
+<p>Внутри каждого рекламного блока мы отображаем текущее значение общего времени видимости в формате мин:сек. Для этого мы передаём в функцию <code>drawAdTimer</code> контейнер:</p>
<pre class="brush: js notranslate">function drawAdTimer(adBox) {
let timerBox = adBox.querySelector(".timer");
@@ -411,11 +411,11 @@ function buildContents() {
<p>Переменная <code>loremIpsum</code> содержит текст, который мы используем как тело статьи. Разумеется, в реальном мире вы будете забирать статьи из какой-то базы данных. Но это тема другой статьи, поэтому мы пошли простым путём.</p>
-<p><code>buildContents()</code> создаёт страницу с пятью статьями. Каждая нечётная статья содержит рекламные блоки.  Статьи будут вставлены в блок контента {{HTMLElement("main")}}. после того, как будет вызван метод <code>createArticle()</code>, который мы разберем позже.</p>
+<p><code>buildContents()</code> создаёт страницу с пятью статьями. Каждая нечётная статья содержит рекламные блоки.  Статьи будут вставлены в блок контента {{HTMLElement("main")}}. после того, как будет вызван метод <code>createArticle()</code>, который мы разберём позже.</p>
-<p>Рекламные блоки создаются с помощью функции <code>loadRandomAd()</code>. Эта функция создает и вставляет блоки одновременно. Как мы увидим позже, эта же функция может и заменить уже существующую рекламу. Но пока что просто добавим рекламу в существующий текст.</p>
+<p>Рекламные блоки создаются с помощью функции <code>loadRandomAd()</code>. Эта функция создаёт и вставляет блоки одновременно. Как мы увидим позже, эта же функция может и заменить уже существующую рекламу. Но пока что просто добавим рекламу в существующий текст.</p>
-<h3 id="Создаем_статью">Создаем статью</h3>
+<h3 id="Создаём_статью">Создаём статью</h3>
<p>Для создания элемента статьи {{HTMLElement("article")}} и её содержимого мы используем функцию <code>createArticle()</code>, которая в качестве входных данных принимает строку-текст статьи.</p>
@@ -434,11 +434,11 @@ function buildContents() {
return articleElem;
}</pre>
-<p>Сперва, элемент <code>&lt;article&gt;</code> создаётся и ему присваивается уникальный ID <code>nextArticleID</code> (это просто счётчик от нуля до бесконечности). Затем мы создаем и добавляем элемент {{HTMLElement("h2")}} для заголовка и применяем HTML из переменной <code>contents</code>. Наконец, мы увеличиваем значение <code>nextArticleID</code> (таким образом, следующий элемент получит уникальный ID) и возвращаем элемент статьи обратно.</p>
+<p>Сперва, элемент <code>&lt;article&gt;</code> создаётся и ему присваивается уникальный ID <code>nextArticleID</code> (это просто счётчик от нуля до бесконечности). Затем мы создаём и добавляем элемент {{HTMLElement("h2")}} для заголовка и применяем HTML из переменной <code>contents</code>. Наконец, мы увеличиваем значение <code>nextArticleID</code> (таким образом, следующий элемент получит уникальный ID) и возвращаем элемент статьи обратно.</p>
<h3 id="Создание_рекламного_блока">Создание рекламного блока</h3>
-<p>Функция <code>loadRandomAd()</code> имитирует загрузку рекламы и её добавление на страницу. Если вы не указываете значение для <code>replaceBox</code>, создается и применяется новый контейнер для рекламы. Если вы указали <code>replaceBox</code>, этот контейнер рассматривается, как уже существующий элемент. Вместо создания нового, существующий элемент изменяется, чтобы содержать актуальные данные. Это помогает избежать риска неэффективной перерисовки элементов, если вы сначала будете удалять элемент из DOM, а затем вставлять новый.</p>
+<p>Функция <code>loadRandomAd()</code> имитирует загрузку рекламы и её добавление на страницу. Если вы не указываете значение для <code>replaceBox</code>, создаётся и применяется новый контейнер для рекламы. Если вы указали <code>replaceBox</code>, этот контейнер рассматривается, как уже существующий элемент. Вместо создания нового, существующий элемент изменяется, чтобы содержать актуальные данные. Это помогает избежать риска неэффективной перерисовки элементов, если вы сначала будете удалять элемент из DOM, а затем вставлять новый.</p>
<pre class="brush: js notranslate">function loadRandomAd(replaceBox) {
let ads = [
@@ -523,7 +523,7 @@ function buildContents() {
<p>Если <code>replaceBox</code> содержит какое-то значение, мы рассматриваем его как элемент рекламного блока. Мы завершаем наблюдение за элементом с помощью {{domxref("IntersectionObserver.unobserve()")}}. Затем собираем в локальные переменные данные из каждого свойства элемента: заголовок, тело и таймер.</p>
-<p>Если никакое значение не указано для <code>replaceBox</code>, мы создаем новый элемент. Создаётся новый контейнер {{HTMLElement("div")}}. Его CSS-параметры задаются с помощью класса <code>"ad"</code>. Затем создаются заголовок рекламного блока, его текст и таймер.  Соотстветвенно, это {{HTMLElement("h2")}}, {{HTMLElement("p")}} и {{HTMLElement("div")}}. Эти элементы применяются к контейнеру <code>adBox</code>.</p>
+<p>Если никакое значение не указано для <code>replaceBox</code>, мы создаём новый элемент. Создаётся новый контейнер {{HTMLElement("div")}}. Его CSS-параметры задаются с помощью класса <code>"ad"</code>. Затем создаются заголовок рекламного блока, его текст и таймер.  Соотстветвенно, это {{HTMLElement("h2")}}, {{HTMLElement("p")}} и {{HTMLElement("div")}}. Эти элементы применяются к контейнеру <code>adBox</code>.</p>
<p>После этого разветвления наш код вновь возвращается к единому. Фоновый цвет рекламных блоков присваивается соответственно записям. Элементам присваиваются классы и содержимое.</p>
diff --git a/files/ru/web/api/intersectionobserver/index.html b/files/ru/web/api/intersectionobserver/index.html
index 81c9d06e14..6676d9a6b7 100644
--- a/files/ru/web/api/intersectionobserver/index.html
+++ b/files/ru/web/api/intersectionobserver/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/IntersectionObserver
<p>Интерфейс <code><strong>IntersectionObserver</strong></code> в составе <a href="/en-US/docs/Web/API/Intersection_Observer_API">Intersection Observer API</a> <span class="seoSummary">предоставляет возможность асинхронного наблюдения за изменением пересечения целевого элемента с вышестоящим элементом или с верхоуровневым {{Glossary('viewport')}} документа.</span> Вышестоящий элемент или viewport считается корнем.</p>
-<p>Когда <code>IntersectionObserver</code> создан, он настроен на отслеживание заданных соотношений видимости в корне. Конфигурация не может быть изменена после создания <code>IntersectionObserver</code>, поэтому такой объект-наблюдатель полезен только для наблюдения за определенными изменениями в степени видимости; однако вы можете следить за несколькими целевыми элементами с одним и тем же наблюдателем.</p>
+<p>Когда <code>IntersectionObserver</code> создан, он настроен на отслеживание заданных соотношений видимости в корне. Конфигурация не может быть изменена после создания <code>IntersectionObserver</code>, поэтому такой объект-наблюдатель полезен только для наблюдения за определёнными изменениями в степени видимости; однако вы можете следить за несколькими целевыми элементами с одним и тем же наблюдателем.</p>
<h2 id="Constructor">Constructor</h2>
diff --git a/files/ru/web/api/keyboardevent/altkey/index.html b/files/ru/web/api/keyboardevent/altkey/index.html
index 65ff69f379..774df5baea 100644
--- a/files/ru/web/api/keyboardevent/altkey/index.html
+++ b/files/ru/web/api/keyboardevent/altkey/index.html
@@ -33,7 +33,7 @@ function showChar(e){
&lt;body onkeypress="showChar(event);"&gt;
&lt;p&gt;
-Нажмите любую клавишу с зажатой клавишей ALT или без нее&lt;br /&gt;
+Нажмите любую клавишу с зажатой клавишей ALT или без неё&lt;br /&gt;
Вы можете также использовать SHIFT вместе с ALT.
&lt;/p&gt;
&lt;/body&gt;
diff --git a/files/ru/web/api/keyboardevent/index.html b/files/ru/web/api/keyboardevent/index.html
index 78e057c480..0d4f5ab6c4 100644
--- a/files/ru/web/api/keyboardevent/index.html
+++ b/files/ru/web/api/keyboardevent/index.html
@@ -137,7 +137,7 @@ translation_of: Web/API/KeyboardEvent
<li><code>keyup</code></li>
</ol>
-<p>В этих средах, к сожалению, нет возможности сказать веб-контенту, произошел автоповтор или клавиша была нажата несколько раз.</p>
+<p>В этих средах, к сожалению, нет возможности сказать веб-контенту, произошёл автоповтор или клавиша была нажата несколько раз.</p>
<h4 id="Обработка_автоповтора_на_системах_до_Gecko_5.0">Обработка автоповтора на системах до Gecko 5.0</h4>
diff --git a/files/ru/web/api/keyboardevent/key/key_values/index.html b/files/ru/web/api/keyboardevent/key/key_values/index.html
index d899eb5c38..1dc955cf06 100644
--- a/files/ru/web/api/keyboardevent/key/key_values/index.html
+++ b/files/ru/web/api/keyboardevent/key/key_values/index.html
@@ -3,7 +3,7 @@ title: Значения клавиш
slug: Web/API/KeyboardEvent/key/Key_Values
translation_of: Web/API/KeyboardEvent/key/Key_Values
---
-<p>В таблицах ниже перечислены стандартные значения различных категорий клавиш с объяснением того, для чего этот клавиша обычно используется. Соответствующие виртуальные коды клавиш для распространенных платформ включены там, где они доступны.</p>
+<p>В таблицах ниже перечислены стандартные значения различных категорий клавиш с объяснением того, для чего этот клавиша обычно используется. Соответствующие виртуальные коды клавиш для распространённых платформ включены там, где они доступны.</p>
<div class="pull-aside">
<div class="moreinfo">Узнайте, как использовать эти пары "ключ-значение" в JavaScript с помощью <a href="/docs/Web/API/KeyboardEvent/key">KeyboardEvent.key</a></div>
@@ -13,7 +13,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<h2 id="Специальные_значения">Специальные значения</h2>
-<p>Значения клавиш имеющих особое значение, кроме идентификации определенной клавиши или символа.</p>
+<p>Значения клавиш имеющих особое значение, кроме идентификации определённой клавиши или символа.</p>
<table class="standard-table">
<thead>
@@ -33,7 +33,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<tr>
<td><code>"Unidentified"</code></td>
<td>
- <p>Пользовательский агент не смог сопоставить виртуальный клавиатурный код события с определенным значением клавиши.</p>
+ <p>Пользовательский агент не смог сопоставить виртуальный клавиатурный код события с определённым значением клавиши.</p>
<p>Это может произойти из-за аппаратных или программных ограничений или из-за ограничений платформы, на которой работает пользовательский агент.</p>
</td>
@@ -692,9 +692,9 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<p>[3] Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, клавиша контекстного меню возвращает значение <code>"Apps"</code> вместо <code>"ContextMenu"</code>.</p>
-<p>[4] Клавиша <kbd>Attn</kbd> генерирует значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). В Firefox и Google Chrome происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо нее <code>"KanaMode"</code>.</p>
+<p>[4] Клавиша <kbd>Attn</kbd> генерирует значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). В Firefox и Google Chrome происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо неё <code>"KanaMode"</code>.</p>
-<p>[5] Клавиша <kbd>Finish</kbd> генерирует значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). В Firefox происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо нее <code>"Katakana"</code>.</p>
+<p>[5] Клавиша <kbd>Finish</kbd> генерирует значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). В Firefox происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо неё <code>"Katakana"</code>.</p>
<p>[6] Firefox не поддерживал клавиши <code>"ZoomIn"</code> и <code>"ZoomOut"</code> до Firefox 37.</p>
@@ -735,7 +735,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"Eject"</code></td>
- <td>Клавиша извлечения <kbd>Eject</kbd>. Извлекает съемный носитель (или переключает лоток оптического дисковода, открывая и закрывая его).</td>
+ <td>Клавиша извлечения <kbd>Eject</kbd>. Извлекает съёмный носитель (или переключает лоток оптического дисковода, открывая и закрывая его).</td>
<td></td>
<td></td>
<td><code>GDK_KEY_Eject</code> (0x1008FF2C)<br>
@@ -786,7 +786,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"Hibernate"</code> [2]</td>
- <td>Клавиша гибернации <kbd>Hibernate</kbd>. Состояние компьютера сохраняется на диске, а затем выключается; компьютер может быть возвращен в предыдущее состояние путем восстановления сохраненной информации о состоянии.</td>
+ <td>Клавиша гибернации <kbd>Hibernate</kbd>. Состояние компьютера сохраняется на диске, а затем выключается; компьютер может быть возвращён в предыдущее состояние путём восстановления сохранённой информации о состоянии.</td>
<td></td>
<td></td>
<td><code>GDK_KEY_Hibernate</code> (0x1008FFA8)<br>
@@ -824,9 +824,9 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<h2 id="IME_и_клавиши_композиции">IME и клавиши композиции</h2>
-<p>Клавиши, используемые при использовании редактора метода ввода (<a href="https://ru.wikipedia.org/wiki/IME">IME</a>) для ввода текста, который не может быть легко введен с помощью простых нажатий клавиш, например текста на языках, которые имеют больше графем, чем клавиш ввода символов на клавиатуре. Общие примеры включают китайский, японский, корейский и хинди.</p>
+<p>Клавиши, используемые при использовании редактора метода ввода (<a href="https://ru.wikipedia.org/wiki/IME">IME</a>) для ввода текста, который не может быть легко введён с помощью простых нажатий клавиш, например текста на языках, которые имеют больше графем, чем клавиш ввода символов на клавиатуре. Общие примеры включают китайский, японский, корейский и хинди.</p>
-<p>Некоторые клавиши являются общими для нескольких языков, в то время как другие существуют только на клавиатурах, ориентированных на определенные языки. Кроме того, не все клавиатуры имеют все эти клавиши.</p>
+<p>Некоторые клавиши являются общими для нескольких языков, в то время как другие существуют только на клавиатурах, ориентированных на определённые языки. Кроме того, не все клавиатуры имеют все эти клавиши.</p>
<h4 id="Обычные_IME_клавиши">Обычные IME клавиши</h4>
@@ -1013,7 +1013,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<h3 id="Только_корейские_клавиатуры">Только корейские клавиатуры</h3>
-<p>Эти клавиши доступны только на корейских клавиатурах. Существуют и другие клавиши, определенные различными платформами для корейских клавиатур, но они являются наиболее распространенными и идентифицируются спецификацией событий пользовательского интерфейса.</p>
+<p>Эти клавиши доступны только на корейских клавиатурах. Существуют и другие клавиши, определённые различными платформами для корейских клавиатур, но они являются наиболее распространёнными и идентифицируются спецификацией событий пользовательского интерфейса.</p>
<table class="standard-table">
<thead>
@@ -1695,7 +1695,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"Soft4"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Четвертая функциональная клавиша общего назначения.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Четвёртая функциональная клавиша общего назначения.</span></span></td>
<td></td>
<td></td>
<td><code>Qt::Key_Context4</code> (0x01100003)</td>
@@ -1881,7 +1881,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"MediaPlay"</code></td>
- <td>Запускает или продолжает воспроизведение мультимедиа с нормальной скоростью, если еще не делает этого. В противном случае не имеет эффекта.</td>
+ <td>Запускает или продолжает воспроизведение мультимедиа с нормальной скоростью, если ещё не делает этого. В противном случае не имеет эффекта.</td>
<td><code>APPCOMMAND_MEDIA_PLAY</code></td>
<td></td>
<td><code>GDK_KEY_AudioPlay</code> (0x1008FF14)</td>
@@ -1916,7 +1916,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"MediaStop"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Останавливает текущую медиа-активность (такую как воспроизведение, запись, пауза, перемотка вперед или назад).</span> <span title="">Не действует, если медиафайл уже остановлен.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Останавливает текущую медиа-активность (такую как воспроизведение, запись, пауза, перемотка вперёд или назад).</span> <span title="">Не действует, если медиафайл уже остановлен.</span></span></td>
<td><code>VK_MEDIA_STOP</code> (0xB2)<br>
<code>APPCOMMAND_MEDIA_STOP</code></td>
<td></td>
@@ -2042,7 +2042,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"AudioSurroundModeNext"</code></td>
- <td>Выбор следующего доступного режима объемного звучания.</td>
+ <td>Выбор следующего доступного режима объёмного звучания.</td>
<td><code>VK_SURROUND_MODE_NEXT</code></td>
<td></td>
<td></td>
@@ -2130,7 +2130,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</thead>
</table>
-<p>[1] Internet Explorer, Edge, и Firefox (48 и более ранние) используют <code>"VolumeUp"</code>, <code>"VolumeDown"</code>, и <code>"VolumeMute"</code> вместо <code>"AudioVolumeUp"</code>, <code>"AudioVolumeDown"</code>, и <code>"AudioVolumeMute"</code>. В Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">они были обновлены в соответствии с последней спецификацией.</span> <span title="">Старые имена все еще используются в </span></span><a href="/en-US/docs/Mozilla/B2G_OS">Boot to Gecko</a>.</p>
+<p>[1] Internet Explorer, Edge, и Firefox (48 и более ранние) используют <code>"VolumeUp"</code>, <code>"VolumeDown"</code>, и <code>"VolumeMute"</code> вместо <code>"AudioVolumeUp"</code>, <code>"AudioVolumeDown"</code>, и <code>"AudioVolumeMute"</code>. В Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">они были обновлены в соответствии с последней спецификацией.</span> <span title="">Старые имена все ещё используются в </span></span><a href="/en-US/docs/Mozilla/B2G_OS">Boot to Gecko</a>.</p>
<h2 id="Клавиши_управления_ТВ"><span class="tlid-translation translation" lang="ru"><span title="">Клавиши управления ТВ</span></span></h2>
@@ -2367,7 +2367,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"TVTerrestrialAnalog"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает услугу аналогового наземного телевидения (аналоговый кабельный или антенный прием).</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает услугу аналогового наземного телевидения (аналоговый кабельный или антенный приём).</span></span></td>
<td></td>
<td></td>
<td></td>
@@ -2375,7 +2375,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"TVTerrestrialDigital"</code></td>
- <td>Выбирает услугу цифрового наземного телевидения (цифровой кабельный или антенный прием).</td>
+ <td>Выбирает услугу цифрового наземного телевидения (цифровой кабельный или антенный приём).</td>
<td></td>
<td></td>
<td></td>
@@ -2400,17 +2400,17 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<p><span class="tlid-translation translation" lang="ru"><span title="">Поскольку современные пульты дистанционного управления для мультимедийных устройств часто включают кнопки, помимо базовых элементов управления, описанных в другом месте в этом документе, ключевые значения определены для широкого набора этих дополнительных кнопок.</span></span></p>
-<p><span class="tlid-translation translation" lang="ru"><span title="">Приведенные ниже значения частично получены из ряда технических характеристик бытовой электроники:</span></span></p>
+<p><span class="tlid-translation translation" lang="ru"><span title="">Приведённые ниже значения частично получены из ряда технических характеристик бытовой электроники:</span></span></p>
<ul>
<li><a href="http://atsc.org/standard/a100-dtv-application-software-environment-level-1-dase-1/">DTV Application Software Environment</a> (часть спецификации {{interwiki("wikipedia", "ATSC")}})</li>
<li><a href="http://www.cablelabs.com/specifications/OC-SP-OCAP1.1.3-100603.pdf">Open Cable Application Platform 1.1.3</a></li>
- <li><a href="http://www.ce.org/Standards/Standard-Listings/R7-Home-Network-Committee/CEA-2014-B-(ANSI%29.aspx">ANSI/CEA-2014-B</a>: Веб-протокол и фреймворк для удаленного пользовательского интерфейса в сетях UPnP ™ и Интернете</li>
+ <li><a href="http://www.ce.org/Standards/Standard-Listings/R7-Home-Network-Committee/CEA-2014-B-(ANSI%29.aspx">ANSI/CEA-2014-B</a>: Веб-протокол и фреймворк для удалённого пользовательского интерфейса в сетях UPnP ™ и Интернете</li>
<li><a href="http://developer.android.com/reference/android/view/KeyEvent.html">Android KeyEvent key code values</a></li>
</ul>
<div class="note">
-<p><strong>Заметка:</strong> <span class="tlid-translation translation" lang="ru"><span title="">Пульт дистанционного управления обычно содержит кнопки, значения которых уже определены где-то еще, например</span></span> <em><span class="tlid-translation translation" lang="ru"><span title="">Мультимедийные клавиши</span></span></em> или <em>Клавиши управления звуком</em>. <span class="tlid-translation translation" lang="ru"><span title="">Значения этих кнопок будут соответствовать тому, что задокументировано в этих таблицах.</span></span></p>
+<p><strong>Заметка:</strong> <span class="tlid-translation translation" lang="ru"><span title="">Пульт дистанционного управления обычно содержит кнопки, значения которых уже определены где-то ещё, например</span></span> <em><span class="tlid-translation translation" lang="ru"><span title="">Мультимедийные клавиши</span></span></em> или <em>Клавиши управления звуком</em>. <span class="tlid-translation translation" lang="ru"><span title="">Значения этих кнопок будут соответствовать тому, что задокументировано в этих таблицах.</span></span></p>
</div>
<table class="standard-table">
@@ -2556,7 +2556,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"FavoriteClear3"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Очищает четвертый слот списка избранного.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Очищает четвёртый слот списка избранного.</span></span></td>
<td><code>VK_CLEAR_FAVORITE_3</code></td>
<td></td>
<td></td>
@@ -2588,7 +2588,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"FavoriteRecall3"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает (вызывает) программу или содержимое, хранящееся в четвертом слоте списка избранного.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает (вызывает) программу или содержимое, хранящееся в четвёртом слоте списка избранного.</span></span></td>
<td><code>VK_RECALL_FAVORITE_3</code></td>
<td></td>
<td></td>
@@ -2620,7 +2620,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"FavoriteStore3"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Сохраняет текущую программу или контент в четвертый слот списка избранного.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Сохраняет текущую программу или контент в четвёртый слот списка избранного.</span></span></td>
<td><code>VK_STORE_FAVORITE_3</code></td>
<td></td>
<td></td>
@@ -2805,7 +2805,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"NextUserProfile"</code></td>
- <td>Циклически переходит к следующему сохраненному профилю пользователя, если эта функция поддерживается и существует несколько профилей.</td>
+ <td>Циклически переходит к следующему сохранённому профилю пользователя, если эта функция поддерживается и существует несколько профилей.</td>
<td><code>VK_USER</code></td>
<td></td>
<td></td>
@@ -2909,7 +2909,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"RfBypass"</code></td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает режим пропуска радиочастотного (RF) входа.</span> <span title="">В режиме пропуска РЧ входной сигнал передается непосредственно на выход РЧ без какой-либо обработки или фильтрации.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает режим пропуска радиочастотного (RF) входа.</span> <span title="">В режиме пропуска РЧ входной сигнал передаётся непосредственно на выход РЧ без какой-либо обработки или фильтрации.</span></span></td>
<td><code>VK_RF_BYPASS</code></td>
<td></td>
<td></td>
@@ -2990,7 +2990,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"Wink"</code></td>
- <td>Заставляет устройство идентифицировать себя каким-либо образом, например, мигает светом, на короткое время меняет яркость световых индикаторов или издает звуковой сигнал.</td>
+ <td>Заставляет устройство идентифицировать себя каким-либо образом, например, мигает светом, на короткое время меняет яркость световых индикаторов или издаёт звуковой сигнал.</td>
<td><code>VK_WINK</code></td>
<td></td>
<td></td>
@@ -3032,7 +3032,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"SpeechCorrectionList"</code> [1]</td>
- <td><span class="tlid-translation translation" lang="ru"><span title="">Представляет список возможных исправлений неверно определенного слова.</span></span></td>
+ <td><span class="tlid-translation translation" lang="ru"><span title="">Представляет список возможных исправлений неверно определённого слова.</span></span></td>
<td><code>APPCOMMAND_CORRECTION_LIST</code></td>
<td></td>
<td></td>
@@ -3081,7 +3081,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</tr>
<tr>
<td><code>"New"</code> [1]</td>
- <td>Создает новый документ или сообщение.</td>
+ <td>Создаёт новый документ или сообщение.</td>
<td><code>APPCOMMAND_NEW</code></td>
<td></td>
<td><code>GDK_KEY_New</code> (0x1008FF68)<br>
@@ -3158,7 +3158,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
<h2 id="Клавиши_приложений">Клавиши приложений</h2>
-<p><span class="tlid-translation translation" lang="ru"><span title="">На некоторых клавиатурах есть специальные клавиши для запуска определенных распространенных приложений или переключения на них.</span> <span title="">Значения клавиш для них перечислены здесь.</span></span></p>
+<p><span class="tlid-translation translation" lang="ru"><span title="">На некоторых клавиатурах есть специальные клавиши для запуска определённых распространённых приложений или переключения на них.</span> <span title="">Значения клавиш для них перечислены здесь.</span></span></p>
<table class="standard-table">
<thead>
@@ -3442,7 +3442,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
</thead>
</table>
-<p>[1] Internet Explorer, Edge, и Firefox (36 и ранее) используют <code>"SelectMedia"</code> вместо <code>"LaunchMediaPlayer"</code>. Firefox 37 и Firefox 48 используют <code>"MediaSelect"</code>. Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">был обновлен в соответствии с последней спецификацией и теперь возвращает</span></span> <code>"LaunchMediaPlayer"</code>.</p>
+<p>[1] Internet Explorer, Edge, и Firefox (36 и ранее) используют <code>"SelectMedia"</code> вместо <code>"LaunchMediaPlayer"</code>. Firefox 37 и Firefox 48 используют <code>"MediaSelect"</code>. Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">был обновлён в соответствии с последней спецификацией и теперь возвращает</span></span> <code>"LaunchMediaPlayer"</code>.</p>
<p>[2] Google Chrome 57 и ранние возвращают <code>"LaunchMyComputer"</code> вместо <code>"LaunchApplication1"</code>. Смотри <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612743">Chrome Bug 612743</a> для дополнительной информации.</p>
diff --git a/files/ru/web/api/localmediastream/index.html b/files/ru/web/api/localmediastream/index.html
index b5ca550abb..821224a3b1 100644
--- a/files/ru/web/api/localmediastream/index.html
+++ b/files/ru/web/api/localmediastream/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/LocalMediaStream
---
<div>{{APIRef("WebRTC")}} {{SeeCompatTable}}</div>
-<p>Интерфейс <strong><code>LocalMediaStream</code></strong><strong> </strong>представляет собой поток медиа-контента извлёчённый из локального источника данных. Этот интерфейс возвращается из <code><a href="/en-US/docs/WebRTC/navigator.getUserMedia" title="/en-US/docs/WebRTC/navigator.getUserMedia">getUserMedia()</a></code>.</p>
+<p>Интерфейс <strong><code>LocalMediaStream</code></strong><strong> </strong>представляет собой поток медиа-контента извлечённый из локального источника данных. Этот интерфейс возвращается из <code><a href="/en-US/docs/WebRTC/navigator.getUserMedia" title="/en-US/docs/WebRTC/navigator.getUserMedia">getUserMedia()</a></code>.</p>
<h2 id="Methods">Methods</h2>
diff --git a/files/ru/web/api/location/index.html b/files/ru/web/api/location/index.html
index 470064d4b9..0183c895fd 100644
--- a/files/ru/web/api/location/index.html
+++ b/files/ru/web/api/location/index.html
@@ -60,7 +60,7 @@ translation_of: Web/API/Location
<h2 id="Примеры">Примеры</h2>
-<pre class="brush: js">// Этот пример создает ссылку и использует ее свойство href
+<pre class="brush: js">// Этот пример создаёт ссылку и использует её свойство href
// Корректная альтернатива - использовать document.location или window.location текущего URL
var url = document.createElement('a');
url.href = 'https://developer.mozilla.org/en-US/search?q=URL#search-results-close-container';
diff --git a/files/ru/web/api/media_session_api/index.html b/files/ru/web/api/media_session_api/index.html
index aeaf490463..2d9980c86c 100644
--- a/files/ru/web/api/media_session_api/index.html
+++ b/files/ru/web/api/media_session_api/index.html
@@ -48,7 +48,7 @@ translation_of: Web/API/Media_Session_API
<h2 id="Примеры">Примеры</h2>
-<p>Данный пример демонстрирует работу и определение доступности Media Session API. Также, он передает метаданные и определяет собственные обработчики событий:</p>
+<p>Данный пример демонстрирует работу и определение доступности Media Session API. Также, он передаёт метаданные и определяет собственные обработчики событий:</p>
<pre class="brush: js notranslate">if ('mediaSession' in navigator) {
navigator.mediaSession.metadata = new MediaMetadata({
@@ -73,7 +73,7 @@ translation_of: Web/API/Media_Session_API
navigator.mediaSession.setActionHandler('nexttrack', function() { /* Code excerpted. */ });
}</pre>
-<p>Некоторые браузеры отключают автовоспроизведение медиаэлементов на мобильных устройствах и требуют действий пользователя для начала воспроизведения. Этот пример добавит обработчик события <code>pointerup</code> для кнопки воспроизведения на странице, который начнет работу с медиасессией:</p>
+<p>Некоторые браузеры отключают автовоспроизведение медиаэлементов на мобильных устройствах и требуют действий пользователя для начала воспроизведения. Этот пример добавит обработчик события <code>pointerup</code> для кнопки воспроизведения на странице, который начнёт работу с медиасессией:</p>
<pre class="brush: js notranslate">playButton.addEventListener('pointerup', function(event) {
var audio = document.querySelector('audio');
diff --git a/files/ru/web/api/mediadevices/getusermedia/index.html b/files/ru/web/api/mediadevices/getusermedia/index.html
index 4e71c23681..9d53d6f242 100644
--- a/files/ru/web/api/mediadevices/getusermedia/index.html
+++ b/files/ru/web/api/mediadevices/getusermedia/index.html
@@ -59,7 +59,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
<pre class="brush: js notranslate">{ audio: true, video: true }</pre>
- <p>Если определяется значение <code>true</code> для медиатипа, результирующий поток обязательно будет иметь в себе запрошенный медиатип. Если ни один из типов не включается в запрос, вызов метода  <code>getUserMedia()</code> приведет к ошибке.</p>
+ <p>Если определяется значение <code>true</code> для медиатипа, результирующий поток обязательно будет иметь в себе запрошенный медиатип. Если ни один из типов не включается в запрос, вызов метода  <code>getUserMedia()</code> приведёт к ошибке.</p>
<p>Если полная информация о камерах и микрофонах пользователя недоступна по причинам конфиденциальности, приложение может запросить доступ только к необходимым ему функциям, используя дополнительные условия. Следующий пример запрашивает видеотрек с разрешением камеры 1280x720 пикселей:</p>
@@ -80,7 +80,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
}
}</pre>
- <p>Если камера не в состоянии обеспечить указанное минимальное разрешение или более высокое, возвращаемый промис будет отменен с объектом <code>OverconstrainedError</code>, и пользователь не увидит диалога запроса разрешения.</p>
+ <p>Если камера не в состоянии обеспечить указанное минимальное разрешение или более высокое, возвращаемый промис будет отменён с объектом <code>OverconstrainedError</code>, и пользователь не увидит диалога запроса разрешения.</p>
<p>Различие поведения происходит по причине того, что ключевые слова <code>min</code>, <code>max</code>, и <code>exact</code>  являются обязательными к выполнению. В то время как простые значения и ключевое слово  <code>ideal</code> - не обязательные к выполнению. Ниже, полный пример:</p>
@@ -112,11 +112,11 @@ translation_of: Web/API/MediaDevices/getUserMedia
<pre class="brush: js notranslate">{ audio: true, video: { facingMode: { exact: "environment" } } }</pre>
- <p>Следующее строковое свойство -  <code>deviceId</code> (идентификатор устройства). Его значение может быть получено из  метода {{domxref("mediaDevices.enumerateDevices()")}}, возвращающего список, имеющихся на машине устройств, с их идентификаторами, и может быть использовано для запроса определенного устройства по идентификатору этого устройства:</p>
+ <p>Следующее строковое свойство -  <code>deviceId</code> (идентификатор устройства). Его значение может быть получено из  метода {{domxref("mediaDevices.enumerateDevices()")}}, возвращающего список, имеющихся на машине устройств, с их идентификаторами, и может быть использовано для запроса определённого устройства по идентификатору этого устройства:</p>
<pre class="brush: js notranslate">{ video: { deviceId: идентификаторНужнойКамеры } }</pre>
- <p>Код выше вернет запрашиваемую камеру или другую камеру, если требуемая камера недоступна. Для получения доступа к потоку только определенной камеры, без альтернативы, используется свойство  <code>exact</code> (точно) :</p>
+ <p>Код выше вернёт запрашиваемую камеру или другую камеру, если требуемая камера недоступна. Для получения доступа к потоку только определённой камеры, без альтернативы, используется свойство  <code>exact</code> (точно) :</p>
<pre class="brush: js notranslate">{ video: { deviceId: { exact: идентификаторНужнойКамеры } } }</pre>
</dd>
@@ -136,7 +136,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
</dl>
<dl>
- <dt><code>NotAllowedError (Доступ не разрешен)</code></dt>
+ <dt><code>NotAllowedError (Доступ не разрешён)</code></dt>
<dd>Возникает если, одно или несколько запрашиваемых устройств не может быть использованы в настоящее время. Это происходит тогда, когда контекст браузера является не безопасным (страница была загружена используя протокол HTTP вместо HTTPS), а также, если пользователь не разрешил доступ текущему экземпляру браузера к устройству, пользователь отказал в доступе в текущей сессии, или пользователь отказал в доступе к медиаустройствам глобально. Для браузеров, которые поддерживают управление медиаразрешениями с помощью  <a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>, такая ошибка возвращается если Feature Policy не сконфигурирована для разрешение доступа к медиаустройству или устройствам
<div class="note"> Более старые версии спецификации использовали вместо этого SecurityError. <code>SecurityError</code> имеет новое значение.</div>
</dd>
@@ -146,7 +146,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
<dd>Хотя пользователь и предоставил разрешение на использование соответствующих устройств, произошла аппаратная ошибка на уровне операционной системы, браузера или веб-страницы, которая препятствовала доступу к устройству..</dd>
<dt><code>OverconstrainedError (за границами ограничений)</code></dt>
<dd>Возникает если, в результате указанных ограничений не было найдено устройств, отвечающих запрошенным критериям. Ошибка является объектом типа <code>OverconstrainedError</code> и имеет свойство <code>constraint</code>, строковое значение которого является именем ограничения, которое было невозможно встретить, и свойство <code>message</code>, содержащее читаемую человеком строку, объясняющую проблему.
- <div class="note">Ошибка может возникнуть даже, если пользователь еще не выдал разрешение на использование устройства, использующиеся как поверхность для идентификации отпечатка пальца.</div>
+ <div class="note">Ошибка может возникнуть даже, если пользователь ещё не выдал разрешение на использование устройства, использующиеся как поверхность для идентификации отпечатка пальца.</div>
</dd>
<dt><code>SecurityError (ошибка безопасности)</code></dt>
<dd>Возникает если, медиа поддержка отключена в {{domxref("Document")}} на котором был вызван метод  <code>getUserMedia()</code>. Механизм по которому медиа поддержка включается и отключается находиться в компетенции браузера пользователя.</dd>
@@ -160,7 +160,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
<p><code>getUserMedia()</code> -  это мощная функция, которая может быть использована только в <a href="/en-US/docs/Web/Security/Secure_Contexts">безопасном контексте</a> . В небезопасном контексте, <code>navigator.mediaDevices</code> равно <code>undefined</code>, предотвращая доступ к методу <code>getUserMedia()</code>. Безопасный контекст  - это, если кратко, страница, загружаемая по протоколу HTTPS или  <code>file:///</code> URL схеме, или страница, загружаемая из <code>localhost</code>.</p>
-<p>В нем обязательно запрашивается пользовательское разрешение к доступу <code>audio</code> или <code>video</code> источникам. Только контекст документа верхнего уровня, проверенного источника может запросить доступ, используя метод <code>getUserMedia()</code>. Если контексту верхнего уровня явно не дается разрешение для данного {{HTMLElement("iframe")}} используя <a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>, пользователю никогда не будет предложено выдать разрешение на использование устройств, пока пользователь самостоятельно не отменит запрет в настройках браузера.</p>
+<p>В нем обязательно запрашивается пользовательское разрешение к доступу <code>audio</code> или <code>video</code> источникам. Только контекст документа верхнего уровня, проверенного источника может запросить доступ, используя метод <code>getUserMedia()</code>. Если контексту верхнего уровня явно не даётся разрешение для данного {{HTMLElement("iframe")}} используя <a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>, пользователю никогда не будет предложено выдать разрешение на использование устройств, пока пользователь самостоятельно не отменит запрет в настройках браузера.</p>
<p>Дополнительные подробности на тему требований и правил, и как они отражены в контексте выполняемого кода, о том, как браузеры управляют вопросами конфиденциальности и безопасности читайте далее.</p>
@@ -182,7 +182,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
<h4 id="Feature_Policy_Функциональная_политика">Feature Policy (Функциональная политика)</h4>
-<p>Функция управление безопасностью (<a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>) протокола {{Glossary("HTTP")}} находиться в процессе введения в браузеры, с поддержкой, доступной в различной степени во многих браузерах (но не всегда включенной в настройках по умолчанию, как в   Firefox). Метод <code>getUserMedia()</code> - один из методов, требующий использования функциональной политики и вашему коду нужно быть готовым к работе с ним. К примеру, чтобы метод был доступен в документах не высокого уровня, разработчику нужно использовать либо атрибут {{htmlattrxref("allow", "iframe")}} на элементе {{HTMLElement("iframe")}} , который использует <code>getUserMedia()</code>, либо  {{HTTPHeader("Feature-Policy")}} заголовок для страниц , передающихся с сервера,  которые используют <code>getUserMedia()</code>.</p>
+<p>Функция управление безопасностью (<a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>) протокола {{Glossary("HTTP")}} находиться в процессе введения в браузеры, с поддержкой, доступной в различной степени во многих браузерах (но не всегда включённой в настройках по умолчанию, как в   Firefox). Метод <code>getUserMedia()</code> - один из методов, требующий использования функциональной политики и вашему коду нужно быть готовым к работе с ним. К примеру, чтобы метод был доступен в документах не высокого уровня, разработчику нужно использовать либо атрибут {{htmlattrxref("allow", "iframe")}} на элементе {{HTMLElement("iframe")}} , который использует <code>getUserMedia()</code>, либо  {{HTTPHeader("Feature-Policy")}} заголовок для страниц , передающихся с сервера,  которые используют <code>getUserMedia()</code>.</p>
<p>Два разрешения, которые обращаются к <code>getUserMedia()</code> - <code>camera</code> и <code>microphone</code>.</p>
@@ -203,7 +203,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
<h4 id="Безопасность_на_основе_шифрования">Безопасность на основе шифрования</h4>
-<p>Метод <code>getUserMedia()</code> доступен <em>только</em> для <a href="/en-US/docs/Web/Security/Secure_Contexts">безопасных контекстов</a>. Безопасный контекст - это уверенность браузера в том, что  документ был загружен безопасно, используя  HTTPS/TLS, и имеет ограниченную подверженность небезопасным контекстам. Если документ не загружен в безопасном контексте, свойство  {{domxref("navigator.mediaDevices")}} равно <code>undefined</code>, делая невозможным доступ к методу <code>getUserMedia()</code>. Попытка получить доступ в такой ситуации приведет к ошибке <code>TypeError</code>.</p>
+<p>Метод <code>getUserMedia()</code> доступен <em>только</em> для <a href="/en-US/docs/Web/Security/Secure_Contexts">безопасных контекстов</a>. Безопасный контекст - это уверенность браузера в том, что  документ был загружен безопасно, используя  HTTPS/TLS, и имеет ограниченную подверженность небезопасным контекстам. Если документ не загружен в безопасном контексте, свойство  {{domxref("navigator.mediaDevices")}} равно <code>undefined</code>, делая невозможным доступ к методу <code>getUserMedia()</code>. Попытка получить доступ в такой ситуации приведёт к ошибке <code>TypeError</code>.</p>
<h4 id="Безопасность_источника_документа">Безопасность источника документа</h4>
@@ -211,7 +211,7 @@ translation_of: Web/API/MediaDevices/getUserMedia
<ul>
<li>Документ, загруженный в песочницу {{HTMLElement("iframe")}} элемента не может вызвать <code>getUserMedia()</code>, до тех пор пока, на элементе <code>&lt;iframe&gt;</code> находиться атрибут  {{htmlattrxref("sandbox", "iframe")}}, установленный в значение <code>allow-same-origin</code>.</li>
- <li>Документ, загруженный по протоколам <code>data://</code> или <code>blob://</code> в URL-адресе, не имеющий источника  (такими являются типы URL-ов, введенные пользователями в строке адреса браузера) не может вызвать <code>getUserMedia()</code>. Подобные типы  URL-ов, загружаемые из JavaScript кода, наследуют разрешения скрипта.</li>
+ <li>Документ, загруженный по протоколам <code>data://</code> или <code>blob://</code> в URL-адресе, не имеющий источника  (такими являются типы URL-ов, введённые пользователями в строке адреса браузера) не может вызвать <code>getUserMedia()</code>. Подобные типы  URL-ов, загружаемые из JavaScript кода, наследуют разрешения скрипта.</li>
<li>Иные ситуации, документы которых не имеют источника, к примеру элемент, содержащий атрибут {{htmlattrxref("srcdoc", "iframe")}}, использующийся для указания содержимого фрейма.</li>
</ul>
@@ -258,14 +258,14 @@ if (navigator.mediaDevices.getUserMedia === undefined) {
  var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
- //Некоторые браузеры не реализуют его, тогда вернем отмененный промис
+ //Некоторые браузеры не реализуют его, тогда вернём отменённый промис
// с ошибкой для поддержания последовательности интерфейса
if (!getUserMedia) {
return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
}
- // Иначе, обернем промисом устаревший navigator.getUserMedia
+ // Иначе, обернём промисом устаревший navigator.getUserMedia
return new Promise(function(resolve, reject) {
getUserMedia.call(navigator, constraints, resolve, reject);
diff --git a/files/ru/web/api/mediadevices/index.html b/files/ru/web/api/mediadevices/index.html
index 18b3ea99da..c32a95bac6 100644
--- a/files/ru/web/api/mediadevices/index.html
+++ b/files/ru/web/api/mediadevices/index.html
@@ -17,7 +17,7 @@ translation_of: Web/API/MediaDevices
---
<div>{{APIRef("Media Capture and Streams")}}{{SeeCompatTable}}</div>
-<p><span class="seoSummary">Интерфейс <strong><code>MediaDevices</code></strong> предоставляет доступ к подключенным медиа-устройствам ввода, таким как камера, микрофон, а также к совместному использованию экрана. В сущности, он позволяет получать доступ к любому устройству медиа-данных.</span></p>
+<p><span class="seoSummary">Интерфейс <strong><code>MediaDevices</code></strong> предоставляет доступ к подключённым медиа-устройствам ввода, таким как камера, микрофон, а также к совместному использованию экрана. В сущности, он позволяет получать доступ к любому устройству медиа-данных.</span></p>
<h2 id="Свойства">Свойства</h2>
@@ -36,7 +36,7 @@ translation_of: Web/API/MediaDevices
<dl>
<dt>{{ domxref("EventTarget.addEventListener()") }}</dt>
- <dd>Регистрирует обработчик событий для определенного типа событий.</dd>
+ <dd>Регистрирует обработчик событий для определённого типа событий.</dd>
<dt>{{ domxref("MediaDevices.enumerateDevices()") }}</dt>
<dd>Получает массив информации о медиа-устройстве ввода-вывода.</dd>
<dt>{{domxref("MediaDevices.getSupportedConstraints()")}}</dt>
diff --git a/files/ru/web/api/mediaerror/code/index.html b/files/ru/web/api/mediaerror/code/index.html
index a08f5c0752..64b925aeb8 100644
--- a/files/ru/web/api/mediaerror/code/index.html
+++ b/files/ru/web/api/mediaerror/code/index.html
@@ -51,7 +51,7 @@ translation_of: Web/API/MediaError/code
<td><code>MEDIA_ERR_DECODE</code></td>
<td><code>3</code></td>
<td>
- <p>Несмотря на то, что ранее ресурс был определен, как используемый, при попытке декодировать медиаресурс произошла ошибка.</p>
+ <p>Несмотря на то, что ранее ресурс был определён, как используемый, при попытке декодировать медиаресурс произошла ошибка.</p>
</td>
</tr>
<tr>
@@ -66,7 +66,7 @@ translation_of: Web/API/MediaError/code
<h2 id="Пример">Пример</h2>
-<p>В этом примере создается элемент {{HTMLElement("video")}}, устанавливается обработчик ошибок для него, а затем устанавливается атрибут элемента {{htmlattrxref("src", "video")}} для видеоресурса, который должен присутствовать в элементе. Обработчик ошибок просто выводит сообщение</p>
+<p>В этом примере создаётся элемент {{HTMLElement("video")}}, устанавливается обработчик ошибок для него, а затем устанавливается атрибут элемента {{htmlattrxref("src", "video")}} для видеоресурса, который должен присутствовать в элементе. Обработчик ошибок просто выводит сообщение</p>
<pre class="brush: js">var obj = document.createElement('video');
obj.onerror = function() {console.log("Ошибка с носителями информации: " + obj.error.code);}
diff --git a/files/ru/web/api/mediarecorder/index.html b/files/ru/web/api/mediarecorder/index.html
index 1f0332b9b6..2234f133c0 100644
--- a/files/ru/web/api/mediarecorder/index.html
+++ b/files/ru/web/api/mediarecorder/index.html
@@ -5,13 +5,13 @@ translation_of: Web/API/MediaRecorder
---
<p>{{APIRef("Media Recorder API")}}</p>
-<p>The <strong><code>MediaRecorder</code></strong> это интерфейс <a href="https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_Recording_API">MediaStream Recording API</a> представляющий функциональность для простой записи медиа. Создается с использованием {{domxref("MediaRecorder.MediaRecorder", "MediaRecorder()")}} конструктора.</p>
+<p>The <strong><code>MediaRecorder</code></strong> это интерфейс <a href="https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_Recording_API">MediaStream Recording API</a> представляющий функциональность для простой записи медиа. Создаётся с использованием {{domxref("MediaRecorder.MediaRecorder", "MediaRecorder()")}} конструктора.</p>
<h2 id="Конструктор">Конструктор</h2>
<dl>
<dt>{{domxref("MediaRecorder.MediaRecorder", "MediaRecorder()")}}</dt>
- <dd>Создает новый объект <code>MediaRecorder</code>, получающий {{domxref("MediaStream")}} для записи. Доступны такие параметры, как установка типа MIME контейнера (<code>"video/webm","video/mp4"</code> и другие) и скорости передачи аудио-и видеодорожек или одной общей скорости.</dd>
+ <dd>Создаёт новый объект <code>MediaRecorder</code>, получающий {{domxref("MediaStream")}} для записи. Доступны такие параметры, как установка типа MIME контейнера (<code>"video/webm","video/mp4"</code> и другие) и скорости передачи аудио-и видеодорожек или одной общей скорости.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -24,11 +24,11 @@ translation_of: Web/API/MediaRecorder
<dt>{{domxref("MediaRecorder.stream")}} {{readonlyInline}}</dt>
<dd>Возвращает поток который был передан конструктору при создании объекта <code>MediaRecorder</code></dd>
<dt>{{domxref("MediaRecorder.ignoreMutedMedia")}}</dt>
- <dd>Показывает записывает ли <code>MediaRecorder </code>дорожку {{domxref("MediaStreamTrack")}} если она отключена. Если атрибут равен<code> false, </code><code>MediaRecorder</code> будет записывать тишину для аудио и черные кадры для видео. По умолчанию равно <code>false</code></dd>
+ <dd>Показывает записывает ли <code>MediaRecorder </code>дорожку {{domxref("MediaStreamTrack")}} если она отключена. Если атрибут равен<code> false, </code><code>MediaRecorder</code> будет записывать тишину для аудио и чёрные кадры для видео. По умолчанию равно <code>false</code></dd>
<dt>{{domxref("MediaRecorder.videoBitsPerSecond")}} {{readonlyInline}}</dt>
- <dd>Возвращает скорость кодирования видео. Она может отличаться от скорости, определенной в конструкторе (если была предоставлена).</dd>
+ <dd>Возвращает скорость кодирования видео. Она может отличаться от скорости, определённой в конструкторе (если была предоставлена).</dd>
<dt>{{domxref("MediaRecorder.audioBitsPerSecond;")}} {{readonlyInline}}</dt>
- <dd>Возвращает скорость кодирования аудио. Она может отличаться от скорости, определенной в конструкторе (если была предоставлена).</dd>
+ <dd>Возвращает скорость кодирования аудио. Она может отличаться от скорости, определённой в конструкторе (если была предоставлена).</dd>
</dl>
<h2 id="Методы">Методы</h2>
@@ -39,13 +39,13 @@ translation_of: Web/API/MediaRecorder
<dt>{{domxref("MediaRecorder.pause()")}}</dt>
<dd>Приостанавливает запись медиа.</dd>
<dt>{{domxref("MediaRecorder.requestData()")}}</dt>
- <dd>Запрашивает {{domxref("Blob")}} содержащий сохраненные данные полученные  с начала записи (или с последнего вызова <code>requestData()</code>). После вызова этого метода, запись продолжается, но в новый <code>Blob.</code></dd>
+ <dd>Запрашивает {{domxref("Blob")}} содержащий сохранённые данные полученные  с начала записи (или с последнего вызова <code>requestData()</code>). После вызова этого метода, запись продолжается, но в новый <code>Blob.</code></dd>
<dt>{{domxref("MediaRecorder.resume()")}}</dt>
<dd>Возобновляет запись медиа после паузы.</dd>
<dt>{{domxref("MediaRecorder.start()")}}</dt>
- <dd>Начинает запись медиа. В этот метод можно передать аргумент <code>timeslice </code>со значением в миллисекундах. Если он определен, то медиа будет записываться в отдельные блоки заданной продолжительности, вместо записи в один большой блок.</dd>
+ <dd>Начинает запись медиа. В этот метод можно передать аргумент <code>timeslice </code>со значением в миллисекундах. Если он определён, то медиа будет записываться в отдельные блоки заданной продолжительности, вместо записи в один большой блок.</dd>
<dt>{{domxref("MediaRecorder.stop()")}}</dt>
- <dd>Останавливает запись, после чего запускается событие {{event("dataavailable")}}, содержащее последний <code>Blob</code> сохраненных данных.</dd>
+ <dd>Останавливает запись, после чего запускается событие {{event("dataavailable")}}, содержащее последний <code>Blob</code> сохранённых данных.</dd>
</dl>
<h2 id="Обработчики_событий">Обработчики событий</h2>
@@ -54,7 +54,7 @@ translation_of: Web/API/MediaRecorder
<dt>{{domxref("MediaRecorder.ondataavailable")}}</dt>
<dd>Вызывает обработчик {{event("dataavailable")}} события, которое запускается раз в <code>timeslice</code> миллисекунд (или, если <code>timeslice</code> не был задан - по окончанию записи). Событие типа {{domxref("BlobEvent")}}, сдержит записанное медиа в {{domxref("BlobEvent.data", "data")}}.  Вы можете использовать обработчик для сбора и других действий в зависимости от полученных данных.</dd>
<dt>{{domxref("MediaRecorder.onerror")}}</dt>
- <dd>{{domxref("EventHandler")}} вызывается для обработки события {{event("recordingerror")}}, включающего отчет об ошибках во время записи. Это фатальные ошибки, приводящие к остановке записи. Полученное событие основано на интерфейсе {{domxref("MediaRecorderErrorEvent")}}, свойство которого {{domxref("MediaRecorderErrorEvent.error", "error")}} содержит {{domxref("DOMException")}} описывающие произошедшие ошибки.</dd>
+ <dd>{{domxref("EventHandler")}} вызывается для обработки события {{event("recordingerror")}}, включающего отчёт об ошибках во время записи. Это фатальные ошибки, приводящие к остановке записи. Полученное событие основано на интерфейсе {{domxref("MediaRecorderErrorEvent")}}, свойство которого {{domxref("MediaRecorderErrorEvent.error", "error")}} содержит {{domxref("DOMException")}} описывающие произошедшие ошибки.</dd>
<dt>{{domxref("MediaRecorder.onpause")}}</dt>
<dd>{{domxref("EventHandler")}} вызывается для обработки события {{event("pause")}}, случившегося во время приостановки медиа.</dd>
<dt>{{domxref("MediaRecorder.onresume")}}</dt>
@@ -175,7 +175,7 @@ if (navigator.getUserMedia) {
<p>{{Compat("api.MediaRecorder")}}</p>
-<h2 id="Еще_по_теме">Еще по теме</h2>
+<h2 id="Ещё_по_теме">Ещё по теме</h2>
<ul>
<li><a href="/en-US/docs/Web/API/MediaRecorder_API/Using_the_MediaRecorder_API">Использование MediaRecorder API</a></li>
diff --git a/files/ru/web/api/mediarecorder/mediarecorder/index.html b/files/ru/web/api/mediarecorder/mediarecorder/index.html
index 2f5217eda5..abca1784a8 100644
--- a/files/ru/web/api/mediarecorder/mediarecorder/index.html
+++ b/files/ru/web/api/mediarecorder/mediarecorder/index.html
@@ -23,7 +23,7 @@ translation_of: Web/API/MediaRecorder/MediaRecorder
<p>Объект, содержащий следующие свойства:</p>
<ul>
- <li><code>mimeType</code>:  <code>mime</code> тип, определяет формат результата записи, который нужно использовать в качестве контейнера для создаваемого объекта <code>MediaRecorder</code>. Можно просто указать формат контейнера, а браузер сам выберет нужный кодек для записи аудио/видео, или используйте <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter">параметр codecs</a> или параметр<code> profiles</code> для расширения информации об использовании и тонкой конфигурации кодеков. Приложения, предварительно, могут проверять поддержку браузерами определенного типа из свойства <code>mimeType</code> , вызывая метод {{domxref("MediaRecorder.isTypeSupported()")}}.</li>
+ <li><code>mimeType</code>:  <code>mime</code> тип, определяет формат результата записи, который нужно использовать в качестве контейнера для создаваемого объекта <code>MediaRecorder</code>. Можно просто указать формат контейнера, а браузер сам выберет нужный кодек для записи аудио/видео, или используйте <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter">параметр codecs</a> или параметр<code> profiles</code> для расширения информации об использовании и тонкой конфигурации кодеков. Приложения, предварительно, могут проверять поддержку браузерами определённого типа из свойства <code>mimeType</code> , вызывая метод {{domxref("MediaRecorder.isTypeSupported()")}}.</li>
<li><code>audioBitsPerSecond</code>: Скорость записи медиа данных аудио.</li>
<li><code>videoBitsPerSecond</code>: Скорость записи медиа данных видео.</li>
<li><code>bitsPerSecond</code>: Скорость записи медиаданных аудио и видео. Может определяться вместо верхних двух. Если определяется вместе с одним из свойств выше, имеет меньший приоритет, и используется  вместо отсутствующей настройки выше..</li>
@@ -44,7 +44,7 @@ translation_of: Web/API/MediaRecorder/MediaRecorder
<h2 id="Пример">Пример</h2>
-<p>В этом примере показано, как создать медиа рекордер для указанного потока, чья скорость передачи звука составляет 128 Кбит / с, а скорость передачи видео - 2,5 Мбит / с. Записанные мультимедийные данные будут храниться в контейнере MP4 (поэтому, если вы соберете порции мультимедийных данных и сохраните их на диск, они будут в файле с разрешением MP4).</p>
+<p>В этом примере показано, как создать медиа рекордер для указанного потока, чья скорость передачи звука составляет 128 Кбит / с, а скорость передачи видео - 2,5 Мбит / с. Записанные мультимедийные данные будут храниться в контейнере MP4 (поэтому, если вы соберёте порции мультимедийных данных и сохраните их на диск, они будут в файле с разрешением MP4).</p>
<pre class="brush: js">...
<code class="language-html">
diff --git a/files/ru/web/api/mediarecorder/ondataavailable/index.html b/files/ru/web/api/mediarecorder/ondataavailable/index.html
index 25d0607f41..884d008564 100644
--- a/files/ru/web/api/mediarecorder/ondataavailable/index.html
+++ b/files/ru/web/api/mediarecorder/ondataavailable/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/MediaRecorder/ondataavailable
<li>Когда медиа поток завершается, любые мультимедийные данные ещё не доставленные в обработчик <code>ondataavailable</code> немедленно передаются в объект {{domxref("Blob")}}.</li>
<li>При вызове метода  {{domxref("MediaRecorder.stop()")}} , порция медиаданных, объем которых был захвачен с момента начала записи или после последнего вызова события <code>dataavailable</code> помещаются в объект  {{domxref("Blob")}};  после этого захват завершается.</li>
<li>При вызове метода {{domxref("MediaRecorder.requestData()")}} порция медиаданных, объем которых был захвачен с момента начала записи, или после последнего вызова события <code>dataavailable</code> помещаются в вновь созданный объект типа <code>Blob</code> , и захват порций медиаданных продолжается уже в этот новый объект <code>blob</code>.</li>
- <li>Если свойство  <code>timeslice</code> передается в метод {{domxref("MediaRecorder.start()")}}, который запускает захват порций медиаданных, событие  <code>dataavailable</code> запускается каждые <code>timeslice</code> миллисекунд. Это значит, что каждый объект типа <code>blob</code> будет иметь специфический размер (за исключением последнего, который может быть короче, содержащий все, что осталось с момента последнего события ). Поэтому, если метод выглядит так : <code>recorder.start(1000);</code> то событие  <code>dataavailable</code> будет запускаться каждую секунду общего потока медиа захвата, и обработчик события будет вызываться каждую секунду, содержащий в параметре объект типа  <code>blob</code> , который будет содержать объем порции записи медиаданных продолжительностью в одну секунду. Можно использовать свойство  <code>timeslice</code> вместе с {{domxref("MediaRecorder.stop()")}} и {{domxref("MediaRecorder.requestData()")}} для создания нескольких объектов типа<code> blob</code> одинакового объема данных , плюс последние короткие объекты типа<code> blob.</code></li>
+ <li>Если свойство  <code>timeslice</code> передаётся в метод {{domxref("MediaRecorder.start()")}}, который запускает захват порций медиаданных, событие  <code>dataavailable</code> запускается каждые <code>timeslice</code> миллисекунд. Это значит, что каждый объект типа <code>blob</code> будет иметь специфический размер (за исключением последнего, который может быть короче, содержащий все, что осталось с момента последнего события ). Поэтому, если метод выглядит так : <code>recorder.start(1000);</code> то событие  <code>dataavailable</code> будет запускаться каждую секунду общего потока медиа захвата, и обработчик события будет вызываться каждую секунду, содержащий в параметре объект типа  <code>blob</code> , который будет содержать объем порции записи медиаданных продолжительностью в одну секунду. Можно использовать свойство  <code>timeslice</code> вместе с {{domxref("MediaRecorder.stop()")}} и {{domxref("MediaRecorder.requestData()")}} для создания нескольких объектов типа<code> blob</code> одинакового объёма данных , плюс последние короткие объекты типа<code> blob.</code></li>
</ul>
<div class="note">
diff --git a/files/ru/web/api/mediasource/index.html b/files/ru/web/api/mediasource/index.html
index 86746ab4e1..6701b14112 100644
--- a/files/ru/web/api/mediasource/index.html
+++ b/files/ru/web/api/mediasource/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/MediaSource
<dl>
<dt>{{domxref("MediaSource.MediaSource", "MediaSource()")}}</dt>
- <dd>Создает и возвращает новый объект <code>MediaSource</code> не имеющий подключенных буферов данных.</dd>
+ <dd>Создаёт и возвращает новый объект <code>MediaSource</code> не имеющий подключённых буферов данных.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -31,7 +31,7 @@ translation_of: Web/API/MediaSource
<dt>{{domxref("MediaSource.activeSourceBuffers")}} {{readonlyInline}}</dt>
<dd>Возвращает объект типа {{domxref("SourceBufferList")}} содержащий подмножество объектов типа {{domxref("SourceBuffer")}} хранящих в себе другие объекты типа {{domxref("SourceBuffers")}} — список объектов, предоставляющих доступ к выбранному видео, доступным аудиодорожкам, текстовым данным и тд.</dd>
<dt>{{domxref("MediaSource.readyState")}} {{readonlyInline}}</dt>
- <dd>Возвращает enum, отображающий состояние текущего <code>MediaSource-объекта</code>, будь то отсутствие подключения к медиа-элементу(<code>closed</code>), подключенный и готовый к передаче объектов типа {{domxref("SourceBuffer")}} (<font face="consolas, Liberation Mono, courier, monospace">open</font>), или подключенный, но с завершенным потоком {{domxref("MediaSource.endOfStream()")}} (<code>ended</code>.)</dd>
+ <dd>Возвращает enum, отображающий состояние текущего <code>MediaSource-объекта</code>, будь то отсутствие подключения к медиа-элементу(<code>closed</code>), подключённый и готовый к передаче объектов типа {{domxref("SourceBuffer")}} (<font face="consolas, Liberation Mono, courier, monospace">open</font>), или подключённый, но с завершённым потоком {{domxref("MediaSource.endOfStream()")}} (<code>ended</code>.)</dd>
<dt>{{domxref("MediaSource.duration")}}</dt>
<dd>Возвращает или устанавливает продолжительность предоставляемых медиаданных.</dd>
</dl>
@@ -48,7 +48,7 @@ translation_of: Web/API/MediaSource
<dl>
<dt>{{domxref("MediaSource.addSourceBuffer()")}}</dt>
- <dd>Создает новый объект типа {{domxref("SourceBuffer")}}, с указанным  MIME-типом и добавляет в список <code>MediaSource</code>'s {{domxref("SourceBuffers")}}.</dd>
+ <dd>Создаёт новый объект типа {{domxref("SourceBuffer")}}, с указанным  MIME-типом и добавляет в список <code>MediaSource</code>'s {{domxref("SourceBuffers")}}.</dd>
<dt>{{domxref("MediaSource.removeSourceBuffer()")}}</dt>
<dd>Удаляет указанный {{domxref("SourceBuffer")}} из списка {{domxref("SourceBuffers")}}, связанного с текущим <code>MediaSource-объектом</code>.</dd>
<dt>{{domxref("MediaSource.endOfStream()")}}</dt>
@@ -62,7 +62,7 @@ translation_of: Web/API/MediaSource
<h2 id="Примеры">Примеры</h2>
-<p>Нижеприведенный простой пример подгружает видео фрагмент за фрагментом так скоро, как может, воспроизводя их "как только так сразу". Этот пример был написан Nick Desaulniers и может быть <a href="http://nickdesaulniers.github.io/netfix/demo/bufferAll.html">просмотрен здесь в виде демо</a> (также вы можете <a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferAll.html">загрузить исходный код</a> для дальнейшего изучения.)</p>
+<p>Нижеприведённый простой пример подгружает видео фрагмент за фрагментом так скоро, как может, воспроизводя их "как только так сразу". Этот пример был написан Nick Desaulniers и может быть <a href="http://nickdesaulniers.github.io/netfix/demo/bufferAll.html">просмотрен здесь в виде демо</a> (также вы можете <a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferAll.html">загрузить исходный код</a> для дальнейшего изучения.)</p>
<pre class="brush: js">var video = document.querySelector('video');
diff --git a/files/ru/web/api/mediastream_recording_api/index.html b/files/ru/web/api/mediastream_recording_api/index.html
index 7907634ec2..077c3c82a9 100644
--- a/files/ru/web/api/mediastream_recording_api/index.html
+++ b/files/ru/web/api/mediastream_recording_api/index.html
@@ -16,14 +16,14 @@ translation_of: Web/API/MediaStream_Recording_API
<li>Установите {{domxref("MediaRecorder.ondataavailable")}} обработчик событий для {{event("dataavailable")}} событий; он будет вызываться каждый раз, как данные будут доступны.</li>
<li>Создайте {{domxref("MediaRecorder")}} объект, указав исходный поток и любые опции по желанию (такие как MIME-тип контейнера или желаемый битрейт его треков).</li>
<li>Как только исходная медиа запустится и будет достигнута точка, где вы будете готовы записать видео, вызовите {{domxref("MediaRecorder.start()")}} для начала записи.</li>
- <li>Ваш {{event("dataavailable")}} обработчик будет вызываться каждый раз, как появляются данные, готовые для выполнения вами над ними ожидаемых операций; событие имеет дата-атрибут, чье значение {{domxref("Blob")}}, который содержит медиа-данные. Вы можете принудительно вызвать <code>dataavailable</code> событие, доставляя тем самым последние данные, чтобы вы могли отфильтровать их, сохранить и тд.</li>
+ <li>Ваш {{event("dataavailable")}} обработчик будет вызываться каждый раз, как появляются данные, готовые для выполнения вами над ними ожидаемых операций; событие имеет дата-атрибут, чьё значение {{domxref("Blob")}}, который содержит медиа-данные. Вы можете принудительно вызвать <code>dataavailable</code> событие, доставляя тем самым последние данные, чтобы вы могли отфильтровать их, сохранить и тд.</li>
<li>Запись останавливается автоматически, когда исходное медиа закончит проигрываться.</li>
<li>Вы можете остановить запись в любое время, вызвав  {{domxref("MediaRecorder.stop()")}}.</li>
</ol>
<p>Вы можете так же использовать свойства MediaRecorder объекта для определения состояния процесса записи и его {{domxref("MediaRecorder.pause", "pause()")}} и {{domxref("MediaRecorder.resume", "resume()")}} методы, чтобы остановить и возобновить запись исходной медиа.</p>
-<p>Если вам нужно или вы хотите проверить, поддерживается ли определенный MIME-тип, это так же возможно. Просто вызовите {{domxref("MediaRecorder.isMimeTypeSupported()")}}.</p>
+<p>Если вам нужно или вы хотите проверить, поддерживается ли определённый MIME-тип, это так же возможно. Просто вызовите {{domxref("MediaRecorder.isMimeTypeSupported()")}}.</p>
<p>Чтобы узнать больше о MediaStream Recording API, смотрите <a href="/en-US/docs/Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recording_API">Using the MediaStream Recording API</a>, который показывает, как использовать API для записи аудио клипов. Другая статья, <a href="/en-US/docs/Web/API/MediaStream_Recording_API/Recording_a_media_element">Recording a media element</a>, описывает, как получить поток из  {{HTMLElement("audio")}} или {{HTMLElement("video")}} элементов и использовать захватывающие потоки (в этом случае, запись и сохранение их на локальный диск).</p>
diff --git a/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html b/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html
index 0ba9e31501..ff5714a279 100644
--- a/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html
+++ b/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html
@@ -108,7 +108,7 @@ h2 {
<h3 id="Установка_глобальных_переменных">Установка глобальных переменных</h3>
-<p>Мы начнем с установления некоторых глобальных переменных, которые нам понадобятся.</p>
+<p>Мы начнём с установления некоторых глобальных переменных, которые нам понадобятся.</p>
<pre class="brush: js">let preview = document.getElementById("preview");
let recording = document.getElementById("recording");
diff --git a/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html b/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html
index fb0c2b27b2..f0ce6a6e5b 100644
--- a/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html
+++ b/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html
@@ -19,7 +19,7 @@ translation_of: Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recordin
<h2 id="CSS_плюшки">CSS плюшки</h2>
-<p>Разметка HTML довольно проста, поэтому не будем ее рассматривать подробно, но есть более интересные места в CSS, которые стоило бы отметить, и о которых поговорим ниже. Если вам не интересна тема CSS , и хотите сразу приступить к  JavaScript, то перейдите к части основных настроек приложения {{anch("Basic app setup")}}.</p>
+<p>Разметка HTML довольно проста, поэтому не будем её рассматривать подробно, но есть более интересные места в CSS, которые стоило бы отметить, и о которых поговорим ниже. Если вам не интересна тема CSS , и хотите сразу приступить к  JavaScript, то перейдите к части основных настроек приложения {{anch("Basic app setup")}}.</p>
<h3 id="Сохраняйте_интерфейс_ограниченным_областью_просмотра_независимо_от_высоты_устройства_с_функцией_calc">Сохраняйте интерфейс ограниченным областью просмотра, независимо от высоты устройства, с функцией calc()</h3>
@@ -70,7 +70,7 @@ translation_of: Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recordin
top: -100px;
}</pre>
-<p>Затем стилизуем блок информации (обернутый в элемент {{htmlelement("aside")}}) по вкусу, давая ему фиксированную позицию, так что бы он не показывался в потоке разметки и влиял на основной интерфейс, трансформируем его позицию функцией трансформации, определяя его место по умолчанию, и меняем значение функции трансформации для плавного его отображения/скрытия:</p>
+<p>Затем стилизуем блок информации (обёрнутый в элемент {{htmlelement("aside")}}) по вкусу, давая ему фиксированную позицию, так что бы он не показывался в потоке разметки и влиял на основной интерфейс, трансформируем его позицию функцией трансформации, определяя его место по умолчанию, и меняем значение функции трансформации для плавного его отображения/скрытия:</p>
<pre class="brush: css">aside {
position: fixed;
@@ -124,7 +124,7 @@ const soundClips = document.querySelector('.sound-clips');</pre>
console.log('getUserMedia not supported on your browser!');
}</pre>
-<p>Все обернуто в условный тест, проверяющий поддержку <code>getUserMedia</code> до запуска чего нибудь. Затем вызываем  <code>getUserMedia()</code> и внутри определяем:</p>
+<p>Все обёрнуто в условный тест, проверяющий поддержку <code>getUserMedia</code> до запуска чего нибудь. Затем вызываем  <code>getUserMedia()</code> и внутри определяем:</p>
<ul>
<li><strong>Ограничения </strong>: Приложению нужен только аудиопоток .</li>
@@ -138,7 +138,7 @@ const soundClips = document.querySelector('.sound-clips');</pre>
<h2 id="Захват_медиа_потока">Захват медиа потока</h2>
-<p>Как только функция <code>getUserMedia</code> успешно получила медиапоток, создаем новый объект типа  Media Recorder конструктором <code>MediaRecorder()</code> и передаем ему поток, полученный функцией. Это точка входа использования интерфейса  MediaRecorder —  теперь поток готов для захвата и упаковки в объект  {{domxref("Blob")}}, в формате по умолчанию, установленного для браузера.</p>
+<p>Как только функция <code>getUserMedia</code> успешно получила медиапоток, создаём новый объект типа  Media Recorder конструктором <code>MediaRecorder()</code> и передаём ему поток, полученный функцией. Это точка входа использования интерфейса  MediaRecorder —  теперь поток готов для захвата и упаковки в объект  {{domxref("Blob")}}, в формате по умолчанию, установленного для браузера.</p>
<pre class="brush: js">const mediaRecorder = new MediaRecorder(stream);</pre>
@@ -213,11 +213,11 @@ mediaRecorder.ondataavailable = function(e) {
}
}</pre>
-<p>Пройдем весь код выше и посмотрим, что он делает.</p>
+<p>Пройдём весь код выше и посмотрим, что он делает.</p>
<p>Сначала отображаем пользователю диалог с запросом имени будущей записи.</p>
-<p>Затем создаем структуру HTML , вставляя её в контейнер, представляющийся элементом {{htmlelement("article")}} .</p>
+<p>Затем создаём структуру HTML , вставляя её в контейнер, представляющийся элементом {{htmlelement("article")}} .</p>
<pre class="brush: html">&lt;article class="clip"&gt;
&lt;audio controls&gt;&lt;/audio&gt;
@@ -225,7 +225,7 @@ mediaRecorder.ondataavailable = function(e) {
&lt;button&gt;Delete&lt;/button&gt;
&lt;/article&gt;</pre>
-<p>После этого создаем объект {{domxref("Blob")}} с комбинацией наших записанных частей аудио и создаем объект URL ссылающийся на него, используя метод <code>window.URL.createObjectURL(blob)</code>. Затем устанавливаем значение атрибута {{htmlattrxref("src", "audio")}} элемента {{HTMLElement("audio")}} в созданный объект URL, так, что бы при нажатии на кнопку воспроизведения объект <code>Blob</code> передал свои данные элементу.</p>
+<p>После этого создаём объект {{domxref("Blob")}} с комбинацией наших записанных частей аудио и создаём объект URL ссылающийся на него, используя метод <code>window.URL.createObjectURL(blob)</code>. Затем устанавливаем значение атрибута {{htmlattrxref("src", "audio")}} элемента {{HTMLElement("audio")}} в созданный объект URL, так, что бы при нажатии на кнопку воспроизведения объект <code>Blob</code> передал свои данные элементу.</p>
<p>Наконец, устанавливаем обработчик события <code>onclick</code> на кнопке удаления, для удаления всей структуры HTML проигрывания результата записи (элемент clip).</p>
diff --git a/files/ru/web/api/mediastreamtrack/index.html b/files/ru/web/api/mediastreamtrack/index.html
index 5a2bbeed09..489c5d5196 100644
--- a/files/ru/web/api/mediastreamtrack/index.html
+++ b/files/ru/web/api/mediastreamtrack/index.html
@@ -45,7 +45,7 @@ translation_of: Web/API/MediaStreamTrack
<dt>{{domxref("MediaStreamTrack.readyState")}} {{readonlyInline}}</dt>
<dd>Возвращает одно из следующих значений, обозначающих статус трека:
<ul>
- <li><code>"live"</code> означает, что источник подключен и делает всё, чтобы предоставить данные в реальном времени. В этом случае, поток данных можно включать и выключать с помощью свойство {{domxref("MediaStreamTrack.enabled", "enabled")}}.</li>
+ <li><code>"live"</code> означает, что источник подключён и делает всё, чтобы предоставить данные в реальном времени. В этом случае, поток данных можно включать и выключать с помощью свойство {{domxref("MediaStreamTrack.enabled", "enabled")}}.</li>
<li><code>"ended"</code> означает, что источник больше не предоставляет и больше не будет предоставлять данные.</li>
</ul>
</dd>
diff --git a/files/ru/web/api/mediatrackconstraints/echocancellation/index.html b/files/ru/web/api/mediatrackconstraints/echocancellation/index.html
index 6caa568f39..38d17c9257 100644
--- a/files/ru/web/api/mediatrackconstraints/echocancellation/index.html
+++ b/files/ru/web/api/mediatrackconstraints/echocancellation/index.html
@@ -34,7 +34,7 @@ original_slug: Web/API/MediaTrackConstraints/Эхоподавление
<h3 id="Значение">Значение</h3>
-<p>Если это значение является простым <code>true</code> или <code>false</code>, пользовательский агент попытается получить медиа с включенным или отключенным эхоподавлением, если это возможно, но не вернет ошибку, если это невозможно сделать. Иначе если значение передано как объект с полем <code>exact</code> , то логическое значение этого поля указывает обязательную настройку для эхоподавления; если это не может быть выполнены - запрос вернет ошибку.</p>
+<p>Если это значение является простым <code>true</code> или <code>false</code>, пользовательский агент попытается получить медиа с включённым или отключённым эхоподавлением, если это возможно, но не вернёт ошибку, если это невозможно сделать. Иначе если значение передано как объект с полем <code>exact</code> , то логическое значение этого поля указывает обязательную настройку для эхоподавления; если это не может быть выполнены - запрос вернёт ошибку.</p>
<h2 id="Example" name="Example">Пример</h2>
diff --git a/files/ru/web/api/mouseevent/index.html b/files/ru/web/api/mouseevent/index.html
index 23266c8feb..3d7e42d675 100644
--- a/files/ru/web/api/mouseevent/index.html
+++ b/files/ru/web/api/mouseevent/index.html
@@ -22,7 +22,7 @@ translation_of: Web/API/MouseEvent
<dl>
<dt>{{domxref("MouseEvent.MouseEvent", "MouseEvent()")}}</dt>
- <dd>Создает объект <code>MouseEvent</code>.</dd>
+ <dd>Создаёт объект <code>MouseEvent</code>.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/mouseevent/screenx/index.html b/files/ru/web/api/mouseevent/screenx/index.html
index 93b35759e8..4e6ee2a42c 100644
--- a/files/ru/web/api/mouseevent/screenx/index.html
+++ b/files/ru/web/api/mouseevent/screenx/index.html
@@ -22,7 +22,7 @@ translation_of: Web/API/MouseEvent/screenX
<h4 id="HTML">HTML</h4>
-<pre class="brush: html">&lt;p&gt;Подвигайте мышью, чтобы увидеть положение ее курсора.&lt;/p&gt;
+<pre class="brush: html">&lt;p&gt;Подвигайте мышью, чтобы увидеть положение её курсора.&lt;/p&gt;
&lt;p id="screen-log"&gt;&lt;/p&gt;</pre>
<h4 id="JavaScript">JavaScript</h4>
diff --git a/files/ru/web/api/mutationobserver/index.html b/files/ru/web/api/mutationobserver/index.html
index 6afd425cc2..3f0fbf8ca5 100644
--- a/files/ru/web/api/mutationobserver/index.html
+++ b/files/ru/web/api/mutationobserver/index.html
@@ -19,7 +19,7 @@ translation_of: Web/API/MutationObserver
<dl>
<dt>{{domxref("MutationObserver.MutationObserver", "MutationObserver()")}}</dt>
- <dd>Создает и возвращает новый <code>MutationObserver</code>, который вызовет определенную колбэк-функцию при изменении в DOM.</dd>
+ <dd>Создает и возвращает новый <code>MutationObserver</code>, который вызовет определённую колбэк-функцию при изменении в DOM.</dd>
</dl>
<h2 id="Параметры">Параметры</h2>
@@ -91,7 +91,7 @@ translation_of: Web/API/MutationObserver
<tr>
<td><code>attributeFilter</code></td>
<td>
- <p>Устанавливает массив названий атрибутов (без указания пространства имен), если требуется наблюдать за изменениями конкретных атрибутов. </p>
+ <p>Устанавливает массив названий атрибутов (без указания пространства имён), если требуется наблюдать за изменениями конкретных атрибутов. </p>
</td>
</tr>
</tbody>
@@ -126,7 +126,7 @@ const callback = function(mutationsList, observer) {
  }
};
-// Создаем<code> </code>экземпляр наблюдателя с указанной функцией колбэка
+// Создаём<code> </code>экземпляр наблюдателя с указанной функцией колбэка
const observer = new MutationObserver(callback);
// Начинаем наблюдение за настроенными изменениями целевого элемента<code>
diff --git a/files/ru/web/api/namednodemap/index.html b/files/ru/web/api/namednodemap/index.html
index 2ea97e0010..d681c41a11 100644
--- a/files/ru/web/api/namednodemap/index.html
+++ b/files/ru/web/api/namednodemap/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/NamedNodeMap
---
<div>{{APIRef("DOM")}}</div>
-<p>Интерфейс <code><strong>NamedNodeMap</strong></code> представляет собой коллекцию объектов {{domxref("Attr")}}. Объекты внутри <code>NamedNodeMap</code> не находятся в каком-либо определенном порядке, в отличие от {{domxref("NodeList")}}, хотя они могут быть доступны при использовании индекса, как в массиве.</p>
+<p>Интерфейс <code><strong>NamedNodeMap</strong></code> представляет собой коллекцию объектов {{domxref("Attr")}}. Объекты внутри <code>NamedNodeMap</code> не находятся в каком-либо определённом порядке, в отличие от {{domxref("NodeList")}}, хотя они могут быть доступны при использовании индекса, как в массиве.</p>
<p>Объект NamedNodeMap является "живым" и, таким образом, будет автоматически обновляться, если изменения будут внесены в его содержимое внутри или в другом месте.</p>
@@ -36,11 +36,11 @@ translation_of: Web/API/NamedNodeMap
<dt>{{domxref("NamedNodeMap.item()")}}</dt>
<dd>Возвращает значение {{domxref ("Attr")}} по заданному индексу или null, если индекс больше или равен числу узлов.</dd>
<dt>{{domxref("NamedNodeMap.getNamedItemNS()")}}</dt>
- <dd>Возвращает {{domxref ("Attr")}}, идентифицированный пространством имен и связанным локальным именем.</dd>
+ <dd>Возвращает {{domxref ("Attr")}}, идентифицированный пространством имён и связанным локальным именем.</dd>
<dt>{{domxref("NamedNodeMap.setNamedItemNS()")}}</dt>
- <dd>Заменяет или добавляет {{domxref ("Attr")}}, идентифицированный в объекте NamedNodeMap данным пространством имен и связанным локальным именем.</dd>
+ <dd>Заменяет или добавляет {{domxref ("Attr")}}, идентифицированный в объекте NamedNodeMap данным пространством имён и связанным локальным именем.</dd>
<dt>{{domxref("NamedNodeMap.removeNamedItemNS()")}}</dt>
- <dd>Удаляет {{domxref ("Attr")}}, идентифицированный данным пространством имен и связанным локальным именем.</dd>
+ <dd>Удаляет {{domxref ("Attr")}}, идентифицированный данным пространством имён и связанным локальным именем.</dd>
</dl>
<h2 id="Specifications">Specifications</h2>
@@ -77,7 +77,7 @@ translation_of: Web/API/NamedNodeMap
<h2 id="Browser_compatibility">Browser compatibility</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
<p>{{Compat("api.NamedNodeMap")}}</p>
diff --git a/files/ru/web/api/navigation_timing_api/index.html b/files/ru/web/api/navigation_timing_api/index.html
index 444e3f47b5..be889bd69f 100644
--- a/files/ru/web/api/navigation_timing_api/index.html
+++ b/files/ru/web/api/navigation_timing_api/index.html
@@ -69,7 +69,7 @@ translation_of: Web/API/Navigation_timing_API
<tr>
<td><a name="const_next_no_duplicate"><code>TYPE_RELOAD</code></a></td>
<td>1</td>
- <td>Навигация путем перегрузки страницы или выполнения метода location.reload().</td>
+ <td>Навигация путём перегрузки страницы или выполнения метода location.reload().</td>
</tr>
<tr>
<td><a name="const_prev"><code>TYPE_BACK_FORWARD</code></a></td>
diff --git a/files/ru/web/api/navigator/battery/index.html b/files/ru/web/api/navigator/battery/index.html
index 07f8e7f84b..4ca4b15feb 100644
--- a/files/ru/web/api/navigator/battery/index.html
+++ b/files/ru/web/api/navigator/battery/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Navigator/battery
---
<p>{{ ApiRef("Battery API") }}{{deprecated_header}}</p>
-<p>Свойство <code>battery</code> только для чтения  возвращающее {{DOMxRef("BatteryManager")}} которое дает информацию об уровне заряда системной батареи; предоставляет также некоторые новые события, <span id="result_box" lang="ru"><span class="hps">которые вы</span> <span class="hps">можете</span> <span class="hps">обрабатывать</span> <span class="hps">и контролируя состояние батареи</span><span>.</span></span>Оно реализует <a href="/en-US/docs/WebAPI/Battery_Status">API состояния батареи</a>;<span id="result_box" lang="ru"><span class="hps"> смотрите</span> <span class="hps">документацию</span> <span class="hps">для получения дополнительной информации</span><span>, руководство</span> <span class="hps">по использованию</span> <span class="hps">API</span> <span class="hps">и примеры кода</span><span>.</span></span></p>
+<p>Свойство <code>battery</code> только для чтения  возвращающее {{DOMxRef("BatteryManager")}} которое даёт информацию об уровне заряда системной батареи; предоставляет также некоторые новые события, <span id="result_box" lang="ru"><span class="hps">которые вы</span> <span class="hps">можете</span> <span class="hps">обрабатывать</span> <span class="hps">и контролируя состояние батареи</span><span>.</span></span>Оно реализует <a href="/en-US/docs/WebAPI/Battery_Status">API состояния батареи</a>;<span id="result_box" lang="ru"><span class="hps"> смотрите</span> <span class="hps">документацию</span> <span class="hps">для получения дополнительной информации</span><span>, руководство</span> <span class="hps">по использованию</span> <span class="hps">API</span> <span class="hps">и примеры кода</span><span>.</span></span></p>
<div class="note">
<p>Свойство <code>battery</code> устарело и было заменено {{DOMxRef("Navigator.getBattery()")}}. Метод возвращает {{DOMxRef("Promise")}}. Хотя оно частично поддерживается.</p>
diff --git a/files/ru/web/api/navigator/cookieenabled/index.html b/files/ru/web/api/navigator/cookieenabled/index.html
index ee1d6c8fcb..d04a4659e9 100644
--- a/files/ru/web/api/navigator/cookieenabled/index.html
+++ b/files/ru/web/api/navigator/cookieenabled/index.html
@@ -19,7 +19,7 @@ translation_of: Web/API/Navigator/cookieEnabled
<h2 id="Example" name="Example">Пример</h2>
<pre class="brush: js">if (!navigator.cookieEnabled) {
- // пусть пользователь знает, что включенные куки делают страницу более полезной.
+ // пусть пользователь знает, что включённые куки делают страницу более полезной.
</pre>
<h2 id="Совместимость_в_браузере">Совместимость в браузере</h2>
diff --git a/files/ru/web/api/navigator/geolocation/index.html b/files/ru/web/api/navigator/geolocation/index.html
index c459c40672..7f58143885 100644
--- a/files/ru/web/api/navigator/geolocation/index.html
+++ b/files/ru/web/api/navigator/geolocation/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Navigator/geolocation
---
<p>{{ APIRef("Geolocation API") }}</p>
-<p>Свойство <strong><code>Navigator.geolocation</code></strong> только для чтения, возвращающие объект {{domxref("Geolocation")}}, который дает веб контенту доступ к месторасположению устройства. Это позволяет веб-сайту или приложению предложить индивидуальный результат основанный на месторасположении пользователя.</p>
+<p>Свойство <strong><code>Navigator.geolocation</code></strong> только для чтения, возвращающие объект {{domxref("Geolocation")}}, который даёт веб контенту доступ к месторасположению устройства. Это позволяет веб-сайту или приложению предложить индивидуальный результат основанный на месторасположении пользователя.</p>
<div class="note">
<p><span id="result_box" lang="ru"><strong><span class="hps">Примечание</span><span>:</span> </strong><span class="hps">По соображениям</span> <span class="hps">безопасности</span><span>,</span> <span class="hps">когда</span> <span class="hps">веб-страница</span> <span class="hps">пытается</span> <span class="hps">получить доступ к информации</span> <span class="hps">о местоположении,</span> <span class="hps">пользователь получает уведомление</span> <span class="hps">с просьбой</span> <span class="hps">дать разрешение</span><span>.</span></span><span id="result_box" lang="ru"><span class="hps"> Помните, что</span> <span class="hps">каждый браузер</span> <span class="hps">имеет свои</span> <span class="hps">собственные правила</span> <span class="hps">и методы</span> <span class="hps">для запроса</span> <span class="hps">этого разрешения</span><span>.</span></span></p>
diff --git a/files/ru/web/api/navigator/getgamepads/index.html b/files/ru/web/api/navigator/getgamepads/index.html
index bc5200cbe1..6864d08b0f 100644
--- a/files/ru/web/api/navigator/getgamepads/index.html
+++ b/files/ru/web/api/navigator/getgamepads/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Navigator/getGamepads
---
<p>{{APIRef("Gamepad API")}}{{SeeCompatTable}}</p>
-<p><strong><code>Navigator.getGamepads()</code></strong> метод, возвращающий массив {{ domxref("Gamepad") }} объектов, по одному для каждого геймпада, подключенному к устройству.</p>
+<p><strong><code>Navigator.getGamepads()</code></strong> метод, возвращающий массив {{ domxref("Gamepad") }} объектов, по одному для каждого геймпада, подключённому к устройству.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/navigator/getvrdisplays/index.html b/files/ru/web/api/navigator/getvrdisplays/index.html
index 4c37427910..cb4f67d313 100644
--- a/files/ru/web/api/navigator/getvrdisplays/index.html
+++ b/files/ru/web/api/navigator/getvrdisplays/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Navigator/getVRDisplays
---
<div>{{DefaultAPISidebar("WebVR API")}}{{SeeCompatTable}}</div>
-<p>Метод <strong><code>getVRDisplays()</code></strong> интерфейса {{domxref("Navigator")}} возвращает объект типа <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>, из которого можно получить массив объектов типа {{domxref("VRDisplay")}}, являющихся отображением любого доступного из подключенных к компьютеру VR устройств.</p>
+<p>Метод <strong><code>getVRDisplays()</code></strong> интерфейса {{domxref("Navigator")}} возвращает объект типа <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>, из которого можно получить массив объектов типа {{domxref("VRDisplay")}}, являющихся отображением любого доступного из подключённых к компьютеру VR устройств.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/navigator/index.html b/files/ru/web/api/navigator/index.html
index b653f5af33..136e313b2c 100644
--- a/files/ru/web/api/navigator/index.html
+++ b/files/ru/web/api/navigator/index.html
@@ -33,7 +33,7 @@ translation_of: Web/API/Navigator
<dt>{{domxref("NavigatorGeolocation.geolocation")}} {{readonlyInline}}</dt>
<dd>Возвращает {{domxref("Geolocation")}} объект, позволяющий получить доступ к местоположению устройства.</dd>
<dt>{{domxref("NavigatorPlugins.javaEnabled")}} {{readonlyInline}}{{experimental_inline}}</dt>
- <dd>Возвращает {{domxref("Boolean")}} флаг, показывающий включен ли в браузере java или нет.</dd>
+ <dd>Возвращает {{domxref("Boolean")}} флаг, показывающий включён ли в браузере java или нет.</dd>
<dt>{{domxref("NavigatorLanguage.language")}} {{readonlyInline}}</dt>
<dd>Возвращает {{domxref ("DOMString")}}, представляющий предпочитаемый пользователем язык, как правило это язык пользовательского интерфейса браузера. Значение <code>null</code> возвращается, когда язык неизвестен.</dd>
<dt>{{domxref("NavigatorLanguage.languages")}} {{readonlyInline}}</dt>
@@ -106,7 +106,7 @@ translation_of: Web/API/Navigator
<dt>{{domxref("NavigatorID.taintEnabled()")}} {{deprecated_inline("1.7.8")}} {{obsolete_inline("9.0")}} {{experimental_inline}}</dt>
<dd>Возвращает <code>false</code>. JavaScript taint/untaint функции отключены в JavaScript 1.2.</dd>
<dt>{{domxref("Navigator.vibrate()")}} {{gecko_minversion_inline("11.0")}}</dt>
- <dd>Причина вибрации устройства с поддержкой ее. Не делает ничего, если нет поддержки вибрации.</dd>
+ <dd>Причина вибрации устройства с поддержкой её. Не делает ничего, если нет поддержки вибрации.</dd>
</dl>
<h3 id="Specification" name="Specification">Не стандартизированные</h3>
@@ -119,5 +119,5 @@ translation_of: Web/API/Navigator
<dt>{{domxref("window.navigator.preference", "navigator.preference")}} {{obsolete_inline("2.0")}} {{non-standard_inline}}</dt>
<dd><span class="short_text" id="result_box" lang="ru"><span class="hps">Устанавливает</span> <span class="hps">предпочтение</span> <span class="hps">пользователя</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Этот метод доступен</span> <a href="http://www.faqts.com/knowledge_base/view.phtml/aid/1608/fid/125/lang/en">только для привилегированного кода</a> <span class="hps">и</span> <span class="hps">является устаревшим</span><span>;</span></span> вы должны использовать вместо него XPCOM <a href="/en-US/docs/Preferences_API" title="Preferences_API">Preferences API</a>.</dd>
<dt>{{domxref("window.navigator.requestWakeLock", "navigator.requestWakeLock")}} {{non-standard_inline}}</dt>
- <dd>Запрос установки блокировки пробуждения для ресурса. Блокировка пробуждения препятствует определенной части устройства включится автоматически.</dd>
+ <dd>Запрос установки блокировки пробуждения для ресурса. Блокировка пробуждения препятствует определённой части устройства включится автоматически.</dd>
</dl>
diff --git a/files/ru/web/api/navigator/mediadevices/index.html b/files/ru/web/api/navigator/mediadevices/index.html
index 2e8d3aaf0c..fc482a99f1 100644
--- a/files/ru/web/api/navigator/mediadevices/index.html
+++ b/files/ru/web/api/navigator/mediadevices/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Navigator/mediaDevices
---
<div>{{APIRef("Media Capture and Streams")}}</div>
-<p>Свойство <strong><code>Navigator.mediaDevices</code></strong> только для чтения, возвращает объект {{domxref("MediaDevices")}}, который предоставляет доступ к подключенным медиа-устройствам ввода, таким как камера и микрофон, а также совместное использование экрана.</p>
+<p>Свойство <strong><code>Navigator.mediaDevices</code></strong> только для чтения, возвращает объект {{domxref("MediaDevices")}}, который предоставляет доступ к подключённым медиа-устройствам ввода, таким как камера и микрофон, а также совместное использование экрана.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/navigator/registerprotocolhandler/index.html b/files/ru/web/api/navigator/registerprotocolhandler/index.html
index a09dc87fea..b21f29f39c 100644
--- a/files/ru/web/api/navigator/registerprotocolhandler/index.html
+++ b/files/ru/web/api/navigator/registerprotocolhandler/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Navigator/registerProtocolHandler
<p>Позволяет веб-сайтам зарегистрировать себя как возможный обработчик  для конкретных протоколов.</p>
-<p><span id="result_box" lang="ru"><span class="hps">По соображениям</span> <span class="hps">безопасности</span><span>,</span> <span class="hps">по умолчанию</span><span>,</span> <span class="hps">веб-сайты могут</span> <span class="hps">зарегистрировать только</span> <span class="hps">обработчики протокола</span> <span class="hps">для себя</span> <span class="hps">-</span> <span class="hps">домен</span> <span class="hps">и протокол</span> <span class="hps">обработчика</span> <span class="hps">должны совпадать с</span> текущим <span class="hps">сайтом.</span></span> Тем не менее, пользователи могут установить предпочтение в Firefox, разрешающее перекрестную обработку веб-сайтов  в настройках <code>gecko.handlerService.allowRegisterFromDifferentHost</code> установив <code>true</code> в about:config.</p>
+<p><span id="result_box" lang="ru"><span class="hps">По соображениям</span> <span class="hps">безопасности</span><span>,</span> <span class="hps">по умолчанию</span><span>,</span> <span class="hps">веб-сайты могут</span> <span class="hps">зарегистрировать только</span> <span class="hps">обработчики протокола</span> <span class="hps">для себя</span> <span class="hps">-</span> <span class="hps">домен</span> <span class="hps">и протокол</span> <span class="hps">обработчика</span> <span class="hps">должны совпадать с</span> текущим <span class="hps">сайтом.</span></span> Тем не менее, пользователи могут установить предпочтение в Firefox, разрешающее перекрёстную обработку веб-сайтов  в настройках <code>gecko.handlerService.allowRegisterFromDifferentHost</code> установив <code>true</code> в about:config.</p>
<p><span id="result_box" lang="ru"><span class="hps">Расширения могут</span> <span class="hps">регистрировать обработчики</span> <span class="hps">протоколов</span><span>, направленные</span> <span class="hps">другие сайты</span><span>: </span></span>см. "Смотрите также" раздел как использовать их с XPCOM.</p>
diff --git a/files/ru/web/api/navigator/vibrate/index.html b/files/ru/web/api/navigator/vibrate/index.html
index 691330d85e..4736346bb2 100644
--- a/files/ru/web/api/navigator/vibrate/index.html
+++ b/files/ru/web/api/navigator/vibrate/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Navigator/vibrate
<p>Метод <strong><code>Navigator.vibrate()</code></strong> пульсирует вибрационным оборудованием на устройстве, <span id="result_box" lang="ru"><span class="hps">если</span> <span class="hps">такое аппаратное обеспечение</span> <span class="hps">существует. Если устройство не поддерживает вибрацию, этот метод не имеет ни какого эффекта.</span></span> Если шаблон вибрации уже в процессе выполнения, когда метод вызван, предыдущий шаблон останавливается и вместо него начинается новый.</p>
-<p><span id="result_box" lang="ru"><span class="hps">Если</span> <span class="hps">метод</span> <span class="hps">не в состоянии</span> <span class="hps">вибрировать</span> <span class="hps">из-за</span> <span class="hps">недействительных</span> <span class="hps">параметров</span><span>,</span></span> он вернет <code>false</code>, иначе вернет <code>true</code>. Если шаблон ведет к слишком длинной вибрации, он усекается: <span id="result_box" lang="ru"><span class="hps">максимальная длина</span> <span class="hps">зависит</span> <span class="hps">от</span> <span class="hps">конкретной реализации</span><span>.</span></span></p>
+<p><span id="result_box" lang="ru"><span class="hps">Если</span> <span class="hps">метод</span> <span class="hps">не в состоянии</span> <span class="hps">вибрировать</span> <span class="hps">из-за</span> <span class="hps">недействительных</span> <span class="hps">параметров</span><span>,</span></span> он вернёт <code>false</code>, иначе вернёт <code>true</code>. Если шаблон ведёт к слишком длинной вибрации, он усекается: <span id="result_box" lang="ru"><span class="hps">максимальная длина</span> <span class="hps">зависит</span> <span class="hps">от</span> <span class="hps">конкретной реализации</span><span>.</span></span></p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -16,7 +16,7 @@ translation_of: Web/API/Navigator/vibrate
<dl>
<dt><em>pattern</em></dt>
- <dd><span class="short_text" id="result_box" lang="ru">Определяет <span class="hps">шаблон</span> <span class="hps">вибрации и</span> <span class="hps">интервал паузы</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Значение</span> <span class="hps">указывает на</span> <span class="hps">число миллисекунд</span><span> </span><span class="hps">вибрации</span> <span class="hps">или паузы</span>, <span class="hps">при чередовании</span></span>. <span id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">указать либо</span> <span class="hps">одно значение</span> <span class="atn hps">(</span><span>вибрировать</span> <span class="hps">постоянно</span> <span class="hps">определенное</span> <span class="hps">количество миллисекунд</span><span>) или</span> <span class="hps">массив значений</span>, <span class="hps">поочередно</span>: <span class="hps">вибрировать</span><span>,</span> <span class="hps">пауза</span><span>, затем снова</span> <span class="hps">вибрировать</span><span class="hps">.</span></span> См. <a href="/en-US/docs/WebAPI/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibration API</a> для уточнения деталей.</dd>
+ <dd><span class="short_text" id="result_box" lang="ru">Определяет <span class="hps">шаблон</span> <span class="hps">вибрации и</span> <span class="hps">интервал паузы</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Значение</span> <span class="hps">указывает на</span> <span class="hps">число миллисекунд</span><span> </span><span class="hps">вибрации</span> <span class="hps">или паузы</span>, <span class="hps">при чередовании</span></span>. <span id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">указать либо</span> <span class="hps">одно значение</span> <span class="atn hps">(</span><span>вибрировать</span> <span class="hps">постоянно</span> <span class="hps">определённое</span> <span class="hps">количество миллисекунд</span><span>) или</span> <span class="hps">массив значений</span>, <span class="hps">поочерёдно</span>: <span class="hps">вибрировать</span><span>,</span> <span class="hps">пауза</span><span>, затем снова</span> <span class="hps">вибрировать</span><span class="hps">.</span></span> См. <a href="/en-US/docs/WebAPI/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibration API</a> для уточнения деталей.</dd>
</dl>
<p>Переданное значение 0 или пустой массив, или массив содержащий все нули отменяет любой шаблон вибрации запущенный в текущий момент.</p>
diff --git a/files/ru/web/api/navigatorid/platform/index.html b/files/ru/web/api/navigatorid/platform/index.html
index bbed801cd9..37e7bcda2d 100644
--- a/files/ru/web/api/navigatorid/platform/index.html
+++ b/files/ru/web/api/navigatorid/platform/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/NavigatorID/platform
---
<p>{{ APIRef("HTML DOM") }}</p>
-<p>Возвращает строку, показывающую платформу браузера. <span id="result_box" lang="ru"><span>Спецификация позволяет</span> <span class="hps">браузерам</span> <span class="hps">всегда возвращает</span> <span class="hps">пустую строку</span><span>,</span> <span class="hps">так что не стоит</span> <span class="hps">полагаться</span> <span class="hps">на это свойство</span><span>, чтобы получить</span> <span class="hps">надежный ответ</span><span>.</span></span></p>
+<p>Возвращает строку, показывающую платформу браузера. <span id="result_box" lang="ru"><span>Спецификация позволяет</span> <span class="hps">браузерам</span> <span class="hps">всегда возвращает</span> <span class="hps">пустую строку</span><span>,</span> <span class="hps">так что не стоит</span> <span class="hps">полагаться</span> <span class="hps">на это свойство</span><span>, чтобы получить</span> <span class="hps">надёжный ответ</span><span>.</span></span></p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/navigatorid/product/index.html b/files/ru/web/api/navigatorid/product/index.html
index 65aa5faa88..5bbcebbba1 100644
--- a/files/ru/web/api/navigatorid/product/index.html
+++ b/files/ru/web/api/navigatorid/product/index.html
@@ -29,14 +29,14 @@ function prod() {
&lt;button onclick="prod();"&gt;product&lt;/button&gt;
&lt;div id="d"&gt; &lt;/div&gt;
-&lt;!-- вернет "Gecko" --&gt;
+&lt;!-- вернёт "Gecko" --&gt;
</pre>
<h2 id="Notes" name="Notes">Примечание</h2>
-<p>В браузерах на основе Gecko  <code>product</code> соответствует части полной строки агента пользователя которая идет первой после платформы. В пользовательском агенте Netscape 6.1, к примеру, <code>product</code> это "Gecko" а полная строка пользовательского агента будет: <code>Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape6/6.1</code></p>
+<p>В браузерах на основе Gecko  <code>product</code> соответствует части полной строки агента пользователя которая идёт первой после платформы. В пользовательском агенте Netscape 6.1, к примеру, <code>product</code> это "Gecko" а полная строка пользовательского агента будет: <code>Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape6/6.1</code></p>
-<p>В браузере на основе WebKit <code>product </code>вернет "<code>Gecko</code>", хотя часть полной строки пользовательского агента непосредственно после после платформы на самом деле следующая: <code>(KHTML, like Gecko)</code>.</p>
+<p>В браузере на основе WebKit <code>product </code>вернёт "<code>Gecko</code>", хотя часть полной строки пользовательского агента непосредственно после после платформы на самом деле следующая: <code>(KHTML, like Gecko)</code>.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/navigatorid/taintenabled/index.html b/files/ru/web/api/navigatorid/taintenabled/index.html
index 528756b317..14a0dcf309 100644
--- a/files/ru/web/api/navigatorid/taintenabled/index.html
+++ b/files/ru/web/api/navigatorid/taintenabled/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/NavigatorID/taintEnabled
<p>Метод<code><strong> </strong></code><strong><code>NavigatorID.taintEnabled()</code></strong> всегда возвращает <code>false</code>.</p>
-<div class="note"><span id="result_box" lang="ru"><strong><span class="hps">Примечание</span><span>:</span></strong> </span>Taint <span lang="ru"><span class="hps">был</span> <span class="hps">метод защиты</span> <span class="hps">используемый в</span> <span class="hps">JavaScript 1.2</span><span>.</span> <span class="hps">Он давно</span> <span class="hps">был удален</span><span>;</span> <span class="hps">этот метод</span> <span class="hps">остается</span> <span class="hps">только</span> <span class="hps">для поддержания</span> <span class="hps">совместимости</span> <span class="hps">с очень</span> <span class="hps">старыми скриптами</span><span>.</span></span></div>
+<div class="note"><span id="result_box" lang="ru"><strong><span class="hps">Примечание</span><span>:</span></strong> </span>Taint <span lang="ru"><span class="hps">был</span> <span class="hps">метод защиты</span> <span class="hps">используемый в</span> <span class="hps">JavaScript 1.2</span><span>.</span> <span class="hps">Он давно</span> <span class="hps">был удалён</span><span>;</span> <span class="hps">этот метод</span> <span class="hps">остаётся</span> <span class="hps">только</span> <span class="hps">для поддержания</span> <span class="hps">совместимости</span> <span class="hps">с очень</span> <span class="hps">старыми скриптами</span><span>.</span></span></div>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/navigatorid/useragent/index.html b/files/ru/web/api/navigatorid/useragent/index.html
index 952c7aca04..b28e5c9c50 100644
--- a/files/ru/web/api/navigatorid/useragent/index.html
+++ b/files/ru/web/api/navigatorid/useragent/index.html
@@ -33,7 +33,7 @@ Application-Name Application-Name-version
<h2 id="Notes" name="Notes">Примечание</h2>
-<p><span id="result_box" lang="ru"><span class="hps">Идентификация</span> <span class="hps">браузера</span> <span class="hps">на основе</span> <span class="hps">обнаружения</span> <span class="hps">строки агента пользователя</span> <span class="hps">является <strong>ненадежной</strong></span> <span class="hps">и <strong>не</strong></span><strong> </strong><span class="hps"><strong><strong>рекомендуется</strong>,</strong> так как строка</span> <span class="hps">пользователь</span><span class="hps">ского агента</span> <span class="hps">может быть изменена пользователем</span><span>.</span></span> Например:</p>
+<p><span id="result_box" lang="ru"><span class="hps">Идентификация</span> <span class="hps">браузера</span> <span class="hps">на основе</span> <span class="hps">обнаружения</span> <span class="hps">строки агента пользователя</span> <span class="hps">является <strong>ненадёжной</strong></span> <span class="hps">и <strong>не</strong></span><strong> </strong><span class="hps"><strong><strong>рекомендуется</strong>,</strong> так как строка</span> <span class="hps">пользователь</span><span class="hps">ского агента</span> <span class="hps">может быть изменена пользователем</span><span>.</span></span> Например:</p>
<ul>
<li>В Firefox, вы можете изменить предпочтение {{pref("general.useragent.override")}} в <code>about:config</code>. Некоторые расширения делают это; Однако это изменяет только отправляемый заголовок HTTP, и не влияет на обнаружение браузера выполняемым кодом JavaScript.</li>
diff --git a/files/ru/web/api/navigatorlanguage/language/index.html b/files/ru/web/api/navigatorlanguage/language/index.html
index 6d1c542e1b..4576e7e207 100644
--- a/files/ru/web/api/navigatorlanguage/language/index.html
+++ b/files/ru/web/api/navigatorlanguage/language/index.html
@@ -65,7 +65,7 @@ translation_of: Web/API/NavigatorLanguage/language
<td>
<p>{{ CompatGeckoDesktop(1.0) }}</p>
- <p>До Gecko 2.0 {{ geckoRelease("2.0") }}, значение этого свойства было частью строки пользовательского агента, таким как передает {{ domxref("window.navigator.userAgent", "navigator.userAgent") }}.</p>
+ <p>До Gecko 2.0 {{ geckoRelease("2.0") }}, значение этого свойства было частью строки пользовательского агента, таким как передаёт {{ domxref("window.navigator.userAgent", "navigator.userAgent") }}.</p>
<p>Начиная с Gecko 5.0 {{ geckoRelease("5.0") }}, значение этого свойства основано на значении <code>Accept-Language</code> <a href="/en/HTTP/Headers" title="en/HTTP/Headers">HTTP header</a>.</p>
</td>
diff --git a/files/ru/web/api/navigatorlanguage/languages/index.html b/files/ru/web/api/navigatorlanguage/languages/index.html
index aa983c642e..b088e29ea3 100644
--- a/files/ru/web/api/navigatorlanguage/languages/index.html
+++ b/files/ru/web/api/navigatorlanguage/languages/index.html
@@ -107,7 +107,7 @@ navigator.languages //["en-US", "zh-CN", "ja-JP"]
</table>
</div>
-<p>[1]В Firefox, the <code>navigator.languages</code> значение свойства берется из <code>intl.accept_languages</code> предписаний.</p>
+<p>[1]В Firefox, the <code>navigator.languages</code> значение свойства берётся из <code>intl.accept_languages</code> предписаний.</p>
<h2 id="See_also" name="See_also">Смотрите также</h2>
diff --git a/files/ru/web/api/navigatoronline/online/index.html b/files/ru/web/api/navigatoronline/online/index.html
index 1620695b45..35c66e47fa 100644
--- a/files/ru/web/api/navigatoronline/online/index.html
+++ b/files/ru/web/api/navigatoronline/online/index.html
@@ -5,15 +5,15 @@ translation_of: Web/API/NavigatorOnLine/onLine
---
<p>{{ApiRef("HTML DOM")}}</p>
-<p><span class="short_text" id="result_box" lang="ru"><span class="hps">Возвращает</span> <span class="hps">сетевой статус</span> <span class="hps">браузера</span><span>.</span></span> Свойство возвращает логическое (boolean) значение, <code>true</code> означает online и <code>false</code> означает offline.<span id="result_box" lang="ru"><span>Свойство</span> <span class="hps">обновляется</span> <span class="hps">всякий раз, когда</span> <span class="hps">способность</span> <span class="hps">браузера</span> <span class="hps">к подключению к</span> <span class="hps">сети</span> <span class="hps">изменится</span><span>.</span></span> <span id="result_box" lang="ru"><span>Обновление происходит тогда</span><span>, когда</span> <span class="hps">пользователь следует по</span> <span class="hps">ссылке или</span> <span class="hps">когда</span> <span class="hps">скрипт</span> <span class="hps">запрашивает</span> <span class="hps">удаленную страницу</span></span>. <span id="result_box" lang="ru"><span class="hps">Например,</span> свойство<span class="hps"> должно</span> <span class="hps">вернуть <code>false</code></span><span>, когда</span> <span class="hps">пользователь кликает по</span> <span class="hps">ссылке,</span> <span class="hps">вскоре после</span> <span class="hps">потери</span> <span class="hps">подключения к интернету</span><span>.</span></span></p>
+<p><span class="short_text" id="result_box" lang="ru"><span class="hps">Возвращает</span> <span class="hps">сетевой статус</span> <span class="hps">браузера</span><span>.</span></span> Свойство возвращает логическое (boolean) значение, <code>true</code> означает online и <code>false</code> означает offline.<span id="result_box" lang="ru"><span>Свойство</span> <span class="hps">обновляется</span> <span class="hps">всякий раз, когда</span> <span class="hps">способность</span> <span class="hps">браузера</span> <span class="hps">к подключению к</span> <span class="hps">сети</span> <span class="hps">изменится</span><span>.</span></span> <span id="result_box" lang="ru"><span>Обновление происходит тогда</span><span>, когда</span> <span class="hps">пользователь следует по</span> <span class="hps">ссылке или</span> <span class="hps">когда</span> <span class="hps">скрипт</span> <span class="hps">запрашивает</span> <span class="hps">удалённую страницу</span></span>. <span id="result_box" lang="ru"><span class="hps">Например,</span> свойство<span class="hps"> должно</span> <span class="hps">вернуть <code>false</code></span><span>, когда</span> <span class="hps">пользователь кликает по</span> <span class="hps">ссылке,</span> <span class="hps">вскоре после</span> <span class="hps">потери</span> <span class="hps">подключения к интернету</span><span>.</span></span></p>
<p>Браузеры реализуют это свойство по-разному.</p>
-<p>В Chrome и Safari, если браузер не может соединиться с локальной сетью (LAN) или роутером, это будет означать offline; во всех остальных случаях вернется <code>true</code>.Таким образом, мы можем предположить что браузер не в сети, когда возвращаемое значение <code>false</code>, но вы не можете предположить  что значение true обязательно обозначает что браузер может получить доступ к интернету. <span id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">получать</span> <span class="hps">ложные срабатывания</span><span>, например,</span> <span class="hps">в случаях, когда</span> <span class="hps">компьютер</span> <span class="hps">под управлением</span> <span class="hps">программного обеспечения</span> <span class="hps">для виртуализации</span><span>, которое имеет</span> <span class="hps">виртуальные</span> <span class="hps">сетевые адаптеры</span><span>, которые всегда</span> <span class="atn hps">"</span><span>Подключено".</span></span> <span id="result_box" lang="ru"><span class="hps">Поэтому</span><span>,</span> <span class="hps">если вы действительно хотите</span><span>, чтобы</span> <span class="hps">определять состояние</span> <span class="hps">браузера</span><span>,</span> <span class="hps">вы должны разработать</span> <span class="hps">дополнительные средства</span> <span class="hps">проверки</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Чтобы узнать больше</span><span>, см</span>отрите <span class="hps">статью</span> <span class="hps">HTML5</span></span> <a class="external" href="http://www.html5rocks.com/en/mobile/workingoffthegrid.html"> Working Off the Grid</a>.</p>
+<p>В Chrome и Safari, если браузер не может соединиться с локальной сетью (LAN) или роутером, это будет означать offline; во всех остальных случаях вернётся <code>true</code>.Таким образом, мы можем предположить что браузер не в сети, когда возвращаемое значение <code>false</code>, но вы не можете предположить  что значение true обязательно обозначает что браузер может получить доступ к интернету. <span id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">получать</span> <span class="hps">ложные срабатывания</span><span>, например,</span> <span class="hps">в случаях, когда</span> <span class="hps">компьютер</span> <span class="hps">под управлением</span> <span class="hps">программного обеспечения</span> <span class="hps">для виртуализации</span><span>, которое имеет</span> <span class="hps">виртуальные</span> <span class="hps">сетевые адаптеры</span><span>, которые всегда</span> <span class="atn hps">"</span><span>Подключено".</span></span> <span id="result_box" lang="ru"><span class="hps">Поэтому</span><span>,</span> <span class="hps">если вы действительно хотите</span><span>, чтобы</span> <span class="hps">определять состояние</span> <span class="hps">браузера</span><span>,</span> <span class="hps">вы должны разработать</span> <span class="hps">дополнительные средства</span> <span class="hps">проверки</span><span>.</span></span> <span id="result_box" lang="ru"><span class="hps">Чтобы узнать больше</span><span>, см</span>отрите <span class="hps">статью</span> <span class="hps">HTML5</span></span> <a class="external" href="http://www.html5rocks.com/en/mobile/workingoffthegrid.html"> Working Off the Grid</a>.</p>
<p><span id="result_box" lang="ru"><span class="hps">В Firefox</span> <span class="hps">и</span> <span class="hps">Internet Explorer</span><span>, переключение</span> <span class="hps">браузер</span>а <span class="hps">в автономный режим</span> <span class="hps">посылает</span> </span><code>false</code> значение. Во всех остальных случаях возвращается значение<code> true</code>.</p>
-<p><span id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">увидеть изменения</span> <span class="hps">в</span> <span class="hps">состоянии сети</span> <span class="hps">путем обработки</span> <span class="hps">событий </span></span><a href="/en-US/docs/Web/API/document.ononline"><code>window.ononline</code></a> и <a href="/en-US/docs/Web/API/document.onoffline"><code>window.onoffline</code></a>.</p>
+<p><span id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">увидеть изменения</span> <span class="hps">в</span> <span class="hps">состоянии сети</span> <span class="hps">путём обработки</span> <span class="hps">событий </span></span><a href="/en-US/docs/Web/API/document.ononline"><code>window.ononline</code></a> и <a href="/en-US/docs/Web/API/document.onoffline"><code>window.onoffline</code></a>.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -124,7 +124,7 @@ window.addEventListener("online", function(e) {alert("online");})
</table>
</div>
-<p>[1] <span id="result_box" lang="ru"><span class="hps">Начиная с</span> <span class="hps">Firefox</span> <span class="hps">4</span><span>,</span> <span class="hps">и</span> <span class="hps">Opera</span> <span class="hps">11.10</span><span>,</span> <span class="hps">браузер возвращает</span> <span class="hps"><code>true</code>, когда</span> <span class="hps">режим</span> <span class="atn hps">"</span><span>Работать автономно</span><span>"</span> <span class="hps">отключен, и</span> <code><span class="hps">false</span></code><span>, когда</span> <span class="hps">он включен</span><span>,</span> <span class="hps">независимо от фактического</span> <span class="hps">подключения</span><span>.</span></span></p>
+<p>[1] <span id="result_box" lang="ru"><span class="hps">Начиная с</span> <span class="hps">Firefox</span> <span class="hps">4</span><span>,</span> <span class="hps">и</span> <span class="hps">Opera</span> <span class="hps">11.10</span><span>,</span> <span class="hps">браузер возвращает</span> <span class="hps"><code>true</code>, когда</span> <span class="hps">режим</span> <span class="atn hps">"</span><span>Работать автономно</span><span>"</span> <span class="hps">отключён, и</span> <code><span class="hps">false</span></code><span>, когда</span> <span class="hps">он включён</span><span>,</span> <span class="hps">независимо от фактического</span> <span class="hps">подключения</span><span>.</span></span></p>
<p>[2]<span id="result_box" lang="ru"><span class="hps"> Более ранние версии</span> <span class="hps">Chrome</span> <span class="hps">возвращали</span> <span class="hps"><code>true</code> неверно, когда</span> <span class="hps">вкладка</span> <span class="hps">открывается впервые,</span> <span class="hps">то он</span> вначале сообщает правильный статус <span class="hps">подключения</span> <span class="hps">после</span> <span class="hps">первого события</span> <span class="hps">сети.</span></span></p>
@@ -132,7 +132,7 @@ window.addEventListener("online", function(e) {alert("online");})
<h2 id="Notes" name="Notes">Примечание</h2>
-<p><span id="result_box" lang="ru"><span class="hps">См</span> </span><a href="/en-US/docs/Online_and_offline_events" title="Online_and_offline_events">Online/Offline</a><span lang="ru"><span class="hps"> события</span> <span class="hps">для более детального</span> <span class="hps">описания</span> <span class="hps">этого</span> <span class="hps">свойства, а также</span> <span class="hps">новых возможностей</span> <span class="hps">в автономном режиме</span><span>,  </span><span class="hps">введенных</span> <span class="hps">в</span></span> Firefox 3.</p>
+<p><span id="result_box" lang="ru"><span class="hps">См</span> </span><a href="/en-US/docs/Online_and_offline_events" title="Online_and_offline_events">Online/Offline</a><span lang="ru"><span class="hps"> события</span> <span class="hps">для более детального</span> <span class="hps">описания</span> <span class="hps">этого</span> <span class="hps">свойства, а также</span> <span class="hps">новых возможностей</span> <span class="hps">в автономном режиме</span><span>,  </span><span class="hps">введённых</span> <span class="hps">в</span></span> Firefox 3.</p>
<h2 id="Specification" name="Specification">Спецификация</h2>
diff --git a/files/ru/web/api/navigatorplugins/index.html b/files/ru/web/api/navigatorplugins/index.html
index 3ab846b1c6..3cd92d124f 100644
--- a/files/ru/web/api/navigatorplugins/index.html
+++ b/files/ru/web/api/navigatorplugins/index.html
@@ -24,7 +24,7 @@ translation_of: Web/API/NavigatorPlugins
<dl>
<dt>{{domxref("NavigatorPlugins.javaEnabled")}} {{readonlyInline}}{{experimental_inline}}</dt>
- <dd>Возвращает флаг {{domxref("Boolean")}} показывающий включен ли java в браузере или нет.</dd>
+ <dd>Возвращает флаг {{domxref("Boolean")}} показывающий включён ли java в браузере или нет.</dd>
</dl>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/navigatorplugins/javaenabled/index.html b/files/ru/web/api/navigatorplugins/javaenabled/index.html
index 5d3ce42232..be4e6f741b 100644
--- a/files/ru/web/api/navigatorplugins/javaenabled/index.html
+++ b/files/ru/web/api/navigatorplugins/javaenabled/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/NavigatorPlugins/javaEnabled
---
<p>{{ APIRef("HTML DOM") }}</p>
-<p>Этот метод показывает включен ли java в текущем браузере или нет.</p>
+<p>Этот метод показывает включён ли java в текущем браузере или нет.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -21,7 +21,7 @@ translation_of: Web/API/NavigatorPlugins/javaEnabled
<h2 id="Notes" name="Notes">Примечание</h2>
-<p>Возвращаемое значение этого метода показывает положение java, включен ли или выключен - не предполагает поддержку java браузером полностью.</p>
+<p>Возвращаемое значение этого метода показывает положение java, включён ли или выключен - не предполагает поддержку java браузером полностью.</p>
<h2 id="Specification" name="Specification">Спецификация</h2>
diff --git a/files/ru/web/api/node/appendchild/index.html b/files/ru/web/api/node/appendchild/index.html
index e011179528..149d9b9b98 100644
--- a/files/ru/web/api/node/appendchild/index.html
+++ b/files/ru/web/api/node/appendchild/index.html
@@ -45,7 +45,7 @@ translation_of: Web/API/Node/appendChild
<h2 id="Example" name="Example">Пример</h2>
-<pre class="brush:js notranslate">// Создаем новый элемент параграфа, и вставляем в конец document body
+<pre class="brush:js notranslate">// Создаём новый элемент параграфа, и вставляем в конец document body
var p = document.createElement("p");
document.body.appendChild(p);</pre>
diff --git a/files/ru/web/api/node/clonenode/index.html b/files/ru/web/api/node/clonenode/index.html
index fbb7f327e7..64c76b2749 100644
--- a/files/ru/web/api/node/clonenode/index.html
+++ b/files/ru/web/api/node/clonenode/index.html
@@ -24,7 +24,7 @@ translation_of: Web/API/Node/cloneNode
<div class="note">
<p><strong>Примечание:</strong> в спецификации DOM4 (как реализовано в Gecko 13.0 {{geckoRelease(13)}}), <code>deep</code> необязательный аргумент. Если он опущен, метод действует как если бы значение <code>deep</code> было <strong><code>true</code></strong>, по умолчанию используется глубокое клонирование. Для создания поверхностного клонирования, <code>deep</code> должен быть установлен как <code>false</code>.</p>
-<p>Это поведение было изменено в последней спецификации, и если опущено значение, метод будет действовать как если бы <code>deep</code> было <strong><code>false</code></strong>. Хотя, это все еще не обязательно, вы всегда должны обеспечить аргументом <code>deep</code>, для прямой и обратной совместимости. С Gecko 28.0 {{geckoRelease(28)}}), консоль предупреждает разработчиков не опускать аргумент. Начиная с Gecko 29.0 {{geckoRelease(29)}}), поверхностный клон, по умолчанию, вместо глубокого клона.</p>
+<p>Это поведение было изменено в последней спецификации, и если опущено значение, метод будет действовать как если бы <code>deep</code> было <strong><code>false</code></strong>. Хотя, это все ещё не обязательно, вы всегда должны обеспечить аргументом <code>deep</code>, для прямой и обратной совместимости. С Gecko 28.0 {{geckoRelease(28)}}), консоль предупреждает разработчиков не опускать аргумент. Начиная с Gecko 29.0 {{geckoRelease(29)}}), поверхностный клон, по умолчанию, вместо глубокого клона.</p>
</div>
<h2 id="Example" name="Example">Пример</h2>
@@ -37,7 +37,7 @@ translation_of: Web/API/Node/cloneNode
<p id="not-event-listeners">Клонирование узлов копирует все атрибуты и их значения, в том числе собственных (в линию) перехватчиков. Это не копирует перехватчики событий, добавленных используя <a href="/en-US/docs/DOM/element.addEventListener" title="/en-US/docs/DOM/element.addEventListener"><code>addEventListener()</code></a> или тех что назначены через свойства элемента (т.е <code>node.onclick = fn</code>).</p>
-<p>Дубликат узла, возвращенного <code>cloneNode()</code> не является частью документа, пока не будет добавлен в другой узел, который является частью документа, используя {{domxref("Node.appendChild()")}} или другой метод. Кроме того, не имеет родителя, пока не будет добавлен к другому узлу.</p>
+<p>Дубликат узла, возвращённого <code>cloneNode()</code> не является частью документа, пока не будет добавлен в другой узел, который является частью документа, используя {{domxref("Node.appendChild()")}} или другой метод. Кроме того, не имеет родителя, пока не будет добавлен к другому узлу.</p>
<p><code>Если deep</code> установлен как <code>false</code>, дочерние узлы не клонируются. Любой текст, который содержит узел также не клонируется, как и содержащийся в одном или более дочернем узле {{domxref("Text")}}.</p>
@@ -45,7 +45,7 @@ translation_of: Web/API/Node/cloneNode
<div class="warning"><strong>Внимание:</strong> <code>cloneNode()</code> может привести к дублированию идентификаторов элементов в документе.</div>
-<p>Если исходный узел имеет идентификатор и клон размещен в том же документе, идентификатор должен быть изменен, для того что бы быть уникальным. Имя атрибута также может нуждаться в изменении, <span id="result_box" lang="ru"><span>в зависимости</span> <span class="hps">от</span></span> будущего имени дубликата.</p>
+<p>Если исходный узел имеет идентификатор и клон размещён в том же документе, идентификатор должен быть изменён, для того что бы быть уникальным. Имя атрибута также может нуждаться в изменении, <span id="result_box" lang="ru"><span>в зависимости</span> <span class="hps">от</span></span> будущего имени дубликата.</p>
<p>Чтобы клонировать узел для добавления к другому документу используйте {{domxref("Document.importNode()")}} вместо этого.</p>
diff --git a/files/ru/web/api/node/comparedocumentposition/index.html b/files/ru/web/api/node/comparedocumentposition/index.html
index 0be1dac540..d2972a7ab8 100644
--- a/files/ru/web/api/node/comparedocumentposition/index.html
+++ b/files/ru/web/api/node/comparedocumentposition/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/Node/compareDocumentPosition
</pre>
<ul>
<li><code>node</code> это узел, который сравнивается</li>
- <li><code>otherNode</code> это узел, с которым идет сравнение.</li>
+ <li><code>otherNode</code> это узел, с которым идёт сравнение.</li>
</ul>
<p>Возвращаемое значение вычисляется как отношение, которое имеется между <code>otherNode</code> и <code>node</code>.</p>
<h2 id="Notes" name="Notes">Примечание</h2>
diff --git a/files/ru/web/api/node/getuserdata/index.html b/files/ru/web/api/node/getuserdata/index.html
index 43a766ed8d..2d929785e3 100644
--- a/files/ru/web/api/node/getuserdata/index.html
+++ b/files/ru/web/api/node/getuserdata/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/Node/getUserData
<h3 id="Параметры">Параметры</h3>
<ul>
- <li><code>userKey</code> это ключ для выбора определенных данных искомых для данного узла. Больше чем один ключ может быть назначен для данного узла, содержащий свое собственное значение.</li>
+ <li><code>userKey</code> это ключ для выбора определённых данных искомых для данного узла. Больше чем один ключ может быть назначен для данного узла, содержащий своё собственное значение.</li>
</ul>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/api/node/index.html b/files/ru/web/api/node/index.html
index a8b7e33c56..ebbbfbc41e 100644
--- a/files/ru/web/api/node/index.html
+++ b/files/ru/web/api/node/index.html
@@ -30,10 +30,10 @@ translation_of: Web/API/Node
<dt>{{domxref("Node.lastChild")}} {{readonlyInline}}</dt>
<dd>Возвращает {{domxref("Node")}}, представляющий последний прямой узел потомок узла или <code>null</code>, если узел не имеет потомков.</dd>
<dt>{{domxref("Node.localName")}} {{obsolete_inline}}{{readonlyInline}}</dt>
- <dd>Возвращает {{domxref("DOMString")}} представляющий локальную часть условного имени элемента. В Firefox 3.5 и более ранних версиях, свойство локального имени в верхнем регистре для HTML элементов (но не XHTML элементов). В более поздних версиях, такого не произошло, и свойство находится в нижнем регистре для HTML и XHTML {{ gecko_minversion_inline("1.9.2") }}. Хотя недавние спецификации требуют от <code>localName</code> быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.</dd>
+ <dd>Возвращает {{domxref("DOMString")}} представляющий локальную часть условного имени элемента. В Firefox 3.5 и более ранних версиях, свойство локального имени в верхнем регистре для HTML элементов (но не XHTML элементов). В более поздних версиях, такого не произошло, и свойство находится в нижнем регистре для HTML и XHTML {{ gecko_minversion_inline("1.9.2") }}. Хотя недавние спецификации требуют от <code>localName</code> быть определённым как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все ещё реализуют его как интерфейс {{domxref("Node")}}.</dd>
<dt>{{domxref("Node.namespaceURI")}} {{obsolete_inline}}{{readonlyInline}}</dt>
- <dd>Пространство имен URI данного узла или <code>null,</code> если нет пространства имен. В Firefox 3.5 и более ранних версиях, HTML элементы не имеют пространства имен. В более поздних версиях, HTML элементы находятся в пространстве имен <code><a class="linkification-ext external" href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code> для деревьев HTML и XML. {{ gecko_minversion_inline("1.9.2") }}<br>
- Хотя недавние спецификации требуют <code>namespaceURI</code> быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.</dd>
+ <dd>Пространство имён URI данного узла или <code>null,</code> если нет пространства имён. В Firefox 3.5 и более ранних версиях, HTML элементы не имеют пространства имён. В более поздних версиях, HTML элементы находятся в пространстве имён <code><a class="linkification-ext external" href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code> для деревьев HTML и XML. {{ gecko_minversion_inline("1.9.2") }}<br>
+ Хотя недавние спецификации требуют <code>namespaceURI</code> быть определённым как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все ещё реализуют его как интерфейс {{domxref("Node")}}.</dd>
<dt>{{domxref("Node.nextSibling")}} {{readonlyInline}}</dt>
<dd>Возвращает {{domxref("Node")}} представляющий следующий узел в древе или <code>null,</code> если не такого узла.</dd>
<dt>{{domxref("Node.nodeName")}} {{readonlyInline}}</dt>
@@ -104,12 +104,12 @@ translation_of: Web/API/Node
<dt>{{domxref("Node.ownerDocument")}} {{readonlyInline}}</dt>
<dd>Возвращает {{domxref("Document")}} к которому принадлежит этот узел. Если нет связанного с ним документа, возвращает <code>null</code>.</dd>
<dt>{{domxref("Node.parentNode")}} {{readonlyInline}}</dt>
- <dd>Возвращает {{domxref("Node")}} который является родителем этого узла. Если нет такого узла, по причине того, что узел находится вверху древа или не относится к древу, данное свойство вернет<code> null</code>.</dd>
+ <dd>Возвращает {{domxref("Node")}} который является родителем этого узла. Если нет такого узла, по причине того, что узел находится вверху древа или не относится к древу, данное свойство вернёт<code> null</code>.</dd>
<dt>{{domxref("Node.parentElement")}} {{readonlyInline}}</dt>
- <dd>Возвращает {{domxref("Element")}} который является родителем данного узла. Если узел не имеет родителя или если родитель не {{domxref("Element")}}, это свойство вернет <code>null</code>.</dd>
+ <dd>Возвращает {{domxref("Element")}} который является родителем данного узла. Если узел не имеет родителя или если родитель не {{domxref("Element")}}, это свойство вернёт <code>null</code>.</dd>
<dt>{{domxref("Node.prefix")}} {{obsolete_inline}}{{readonlyInline}}</dt>
- <dd>{{domxref("DOMString")}} представляющий префикс пространства имен узла или <code>null</code> если нет префикса точно определенного.<br>
- Хотя недавние спецификации требуют того, чтобы <code>префикс</code> был определен как интерфейс {{domxref("Element")}}, браузеры основанные на Gecko еще реализовывают его как интерфейс {{domxref("Node")}}.</dd>
+ <dd>{{domxref("DOMString")}} представляющий префикс пространства имён узла или <code>null</code> если нет префикса точно определенного.<br>
+ Хотя недавние спецификации требуют того, чтобы <code>префикс</code> был определён как интерфейс {{domxref("Element")}}, браузеры основанные на Gecko ещё реализовывают его как интерфейс {{domxref("Node")}}.</dd>
<dt>{{domxref("Node.previousSibling")}} {{readonlyInline}}</dt>
<dd>Возвращают {{domxref("Node")}} представляющий предыдущий узел древа или <code>null</code>, если нет такого узла.</dd>
<dt>{{domxref("Node.textContent")}}</dt>
@@ -238,7 +238,7 @@ document.body.removeAll();</pre>
<tr>
<td>{{SpecName('DOM3 Core', 'core.html#ID-1950641247', 'Node')}}</td>
<td>{{Spec2('DOM3 Core')}}</td>
- <td>Методы <code>insertBefore()</code>, <code>replaceChild()</code>, <code>removeChild()</code>, and <code>appendChild()</code> возвращают еще один вид ошибок (<code>NOT_SUPPORTED_ERR</code>) если вызваны из {{domxref("Document")}}.<br>
+ <td>Методы <code>insertBefore()</code>, <code>replaceChild()</code>, <code>removeChild()</code>, and <code>appendChild()</code> возвращают ещё один вид ошибок (<code>NOT_SUPPORTED_ERR</code>) если вызваны из {{domxref("Document")}}.<br>
Метод <code>normalize()</code> был модифицирован таким образом, что узел {{domxref("Text")}} также может быть нормализован, если надлежащий флаг {{domxref("DOMConfiguration")}} установлен.<br>
Добавлены следующие методы: <code>compareDocumentPosition()</code>, <code>isSameNode()</code>, <code>lookupPrefix()</code>, <code>isDefaultNamespace()</code>, <code>lookupNamespaceURI()</code>, <code>isEqualNode()</code>, <code>getFeature()</code>, <code>setUserData()</code>, and <code>getUserData().</code><br>
Добавлены следующие свойства: <code>baseURI</code> and <code>textContent</code>.</td>
@@ -246,7 +246,7 @@ document.body.removeAll();</pre>
<tr>
<td>{{SpecName('DOM2 Core', 'core.html#ID-1950641247', 'Node')}}</td>
<td>{{Spec2('DOM2 Core')}}</td>
- <td>Свойство <code>ownerDocument</code> был слегка изменен, так что {{domxref("DocumentFragment")}} также возвращает <code>null</code>.<br>
+ <td>Свойство <code>ownerDocument</code> был слегка изменён, так что {{domxref("DocumentFragment")}} также возвращает <code>null</code>.<br>
Добавлены следующие свойства: <code>namespaceURI</code>, <code>prefix</code>, and <code>localName</code>.<br>
Добавлены следующие методы: <code>normalize()</code>, <code>isSupported()</code> and <code>hasAttributes()</code>.</td>
</tr>
diff --git a/files/ru/web/api/node/insertbefore/index.html b/files/ru/web/api/node/insertbefore/index.html
index 1ca87864c8..b512bffba9 100644
--- a/files/ru/web/api/node/insertbefore/index.html
+++ b/files/ru/web/api/node/insertbefore/index.html
@@ -36,7 +36,7 @@ translation_of: Web/API/Node/insertBefore
&lt;/div&gt;
&lt;script&gt;
-// Создаем новый &lt;span&gt;
+// Создаём новый &lt;span&gt;
var sp1 = document.createElement("span");
// Получаем ссылку на элемент, перед которым мы хотим вставить sp1
@@ -49,13 +49,13 @@ parentDiv.insertBefore(sp1, sp2);
&lt;/script&gt;
</pre>
-<p>Однако нет метода <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">insertAfter</span>. Он может быть заменен использованием метода <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">insertBefore</span> в связке с <code style="font-style: normal;"><a href="/en-US/docs/DOM/Node.nextSibling" title="DOM/Node.nextSibling">nextSibling</a></code>.</p>
+<p>Однако нет метода <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">insertAfter</span>. Он может быть заменён использованием метода <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">insertBefore</span> в связке с <code style="font-style: normal;"><a href="/en-US/docs/DOM/Node.nextSibling" title="DOM/Node.nextSibling">nextSibling</a></code>.</p>
<p>В предыдущем примере <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp1</span> может быть вставлен после <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span> следующим образом:</p>
<pre><code>parentDiv.insertBefore(sp1, sp2.nextSibling);</code></pre>
-<p>Если <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span> не имеет следующего элемента, то он будет последним дочерним элементом,  <code style="font-style: normal;">sp2.nextSibling вернет </code><span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">null</span>, а <code style="font-style: normal;">sp1</code> вставится в конец дочернего узла (сразу после <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span>).</p>
+<p>Если <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span> не имеет следующего элемента, то он будет последним дочерним элементом,  <code style="font-style: normal;">sp2.nextSibling вернёт </code><span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">null</span>, а <code style="font-style: normal;">sp1</code> вставится в конец дочернего узла (сразу после <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span>).</p>
<h2 id="Example2" name="Example2">Пример 2</h2>
@@ -66,14 +66,14 @@ var parentElement = document.getElementById('parentElement');
// Получаем ссылку на первый дочерний элемент
var theFirstChild = parentElement.firstChild;
-// Создаем новый элемент, который будем добавлять
+// Создаём новый элемент, который будем добавлять
var newElement = document.createElement("div");
// Вставляем новый элемент перед первым дочерним элементом
parentElement.insertBefore(newElement, theFirstChild);
</pre>
-<p>Когда у родителя нет первого дочернего элемента, <code>firstChild</code> вернет <code>null</code>. Новый элемент все равно будет выставляться после последнего дочернего элемента. Но так как родитель не имеет первого дочернего элемента, то он не будет иметь и последнего. Следовательно, после добавления в него элемента, этот элемент будет единственным дочерним элементом.</p>
+<p>Когда у родителя нет первого дочернего элемента, <code>firstChild</code> вернёт <code>null</code>. Новый элемент все равно будет выставляться после последнего дочернего элемента. Но так как родитель не имеет первого дочернего элемента, то он не будет иметь и последнего. Следовательно, после добавления в него элемента, этот элемент будет единственным дочерним элементом.</p>
<h2 id="Browser_Compatibility" name="Browser_Compatibility">Совместимость с браузерами</h2>
diff --git a/files/ru/web/api/node/isdefaultnamespace/index.html b/files/ru/web/api/node/isdefaultnamespace/index.html
index 88f139a5a0..581a56c524 100644
--- a/files/ru/web/api/node/isdefaultnamespace/index.html
+++ b/files/ru/web/api/node/isdefaultnamespace/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Node/isDefaultNamespace
<div>{{APIRef("DOM")}}</div>
</div>
-<p>Метод <strong><code>Node.isDefaultNamespace()</code></strong> принимает URI пространства имен в качестве аргумента и возвращает {{jsxref("Boolean")}} со значением <code>true</code> если пространство имен является пространством имен данного узла по умолчанию или <code>false</code> если нет.</p>
+<p>Метод <strong><code>Node.isDefaultNamespace()</code></strong> принимает URI пространства имён в качестве аргумента и возвращает {{jsxref("Boolean")}} со значением <code>true</code> если пространство имён является пространством имён данного узла по умолчанию или <code>false</code> если нет.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -16,7 +16,7 @@ translation_of: Web/API/Node/isDefaultNamespace
<ul>
<li><code>result</code> содержит в себе возвращаемое значение <code>true</code> или <code>false</code>.</li>
- <li><code>namespaceURI</code> это строка представляющая собой пространство имен, на которое элемент будет проверен.</li>
+ <li><code>namespaceURI</code> это строка представляющая собой пространство имён, на которое элемент будет проверен.</li>
</ul>
<h2 id="Example" name="Example">Пример</h2>
diff --git a/files/ru/web/api/node/isequalnode/index.html b/files/ru/web/api/node/isequalnode/index.html
index 3c76678b0a..c091b24c9f 100644
--- a/files/ru/web/api/node/isequalnode/index.html
+++ b/files/ru/web/api/node/isequalnode/index.html
@@ -20,7 +20,7 @@ translation_of: Web/API/Node/isEqualNode
<h2 id="Пример">Пример</h2>
-<p>В этом примере мы создаем три блока {{HTMLElement ("div")}}. Первый и третий имеют одинаковое содержание и атрибуты, в то время как второй отличается. Затем мы запускаем некоторый JavaScript код для сравнения узлов с помощью isEqualNode () и выводим результаты.</p>
+<p>В этом примере мы создаём три блока {{HTMLElement ("div")}}. Первый и третий имеют одинаковое содержание и атрибуты, в то время как второй отличается. Затем мы запускаем некоторый JavaScript код для сравнения узлов с помощью isEqualNode () и выводим результаты.</p>
<h3 id="HTML">HTML</h3>
diff --git a/files/ru/web/api/node/issupported/index.html b/files/ru/web/api/node/issupported/index.html
index a5fc7e0279..2ffbdadbca 100644
--- a/files/ru/web/api/node/issupported/index.html
+++ b/files/ru/web/api/node/issupported/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Node/isSupported
---
<p>{{APIRef("DOM")}}{{obsolete_header}}</p>
-<p><code><strong>Node.isSupported()</strong></code> возвращает {{domxref("Boolean")}} флаг содержащий результат проверки реализует ли реализация DOM определенное свойство и поддерживается ли это свойство конкретным узлом.</p>
+<p><code><strong>Node.isSupported()</strong></code> возвращает {{domxref("Boolean")}} флаг содержащий результат проверки реализует ли реализация DOM определённое свойство и поддерживается ли это свойство конкретным узлом.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -15,7 +15,7 @@ translation_of: Web/API/Node/isSupported
<dl>
<dt><em>feature</em></dt>
- <dd>Это {{domxref("DOMString")}} содержащая имя свойства для проверки. Это тоже имя, которое может быть передано в метод <code>hasFeature</code> в <a href="/en/DOM/document.implementation" title="en/DOM/document.implementation">DOMImplementation</a>. Возможные значения определенные в спецификации ядра DOM перечислены в DOM Level 2 <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/introduction.html#ID-Conformance">соответствующий раздел</a>.</dd>
+ <dd>Это {{domxref("DOMString")}} содержащая имя свойства для проверки. Это тоже имя, которое может быть передано в метод <code>hasFeature</code> в <a href="/en/DOM/document.implementation" title="en/DOM/document.implementation">DOMImplementation</a>. Возможные значения определённые в спецификации ядра DOM перечислены в DOM Level 2 <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/introduction.html#ID-Conformance">соответствующий раздел</a>.</dd>
<dt><em>version</em></dt>
<dd>Это {{domxref("DOMString")}} содержащая номер версии свойства для ис проверки.В DOM уровень 2, version 1, это строка <code>2.0</code>. если версия не указана, поддерживает любую версию свойства, вызывает метод и возвращает true.</dd>
</dl>
diff --git a/files/ru/web/api/node/localname/index.html b/files/ru/web/api/node/localname/index.html
index da553936f9..9347aea3d0 100644
--- a/files/ru/web/api/node/localname/index.html
+++ b/files/ru/web/api/node/localname/index.html
@@ -49,7 +49,7 @@ translation_of: Web/API/Node/localName
<h2 id="Notes" name="Notes">Примечания</h2>
-<p>Локальное имя узла, является полным именем узла, которое идет после двоеточия. Полное имя, как правило, используется как часть пространства имен <span id="result_box" lang="ru"><span class="hps">для</span> <span class="hps">конкретных</span> <span class="hps">XML</span> <span class="hps">документов.</span></span> Например, полное имя <code>ecomm:partners</code>, <code>partners</code> это локальное имя и <code>ecomm</code> это префикс:</p>
+<p>Локальное имя узла, является полным именем узла, которое идёт после двоеточия. Полное имя, как правило, используется как часть пространства имён <span id="result_box" lang="ru"><span class="hps">для</span> <span class="hps">конкретных</span> <span class="hps">XML</span> <span class="hps">документов.</span></span> Например, полное имя <code>ecomm:partners</code>, <code>partners</code> это локальное имя и <code>ecomm</code> это префикс:</p>
<pre class="brush:xml">&lt;ecomm:business id="soda_shop" type="brick_n_mortar" xmlns:ecomm="http://example.com/ecomm"&gt;
&lt;ecomm:partners&gt;
diff --git a/files/ru/web/api/node/lookupnamespaceuri/index.html b/files/ru/web/api/node/lookupnamespaceuri/index.html
index 10899ce8ae..d37ac9f73a 100644
--- a/files/ru/web/api/node/lookupnamespaceuri/index.html
+++ b/files/ru/web/api/node/lookupnamespaceuri/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/Node/lookupNamespaceURI
---
<div>{{APIRef("DOM")}}</div>
-<p>Метод <code><strong>Node.lookupNamespaceURI()</strong></code> берет префикс и возвращает пространство имен URI связанное с ним в данном узле, если найден (и <code>null</code> если нет). Устанавливает <code>null</code> для префикса который возвращает пространство имен по умолчанию.</p>
+<p>Метод <code><strong>Node.lookupNamespaceURI()</strong></code> берет префикс и возвращает пространство имён URI связанное с ним в данном узле, если найден (и <code>null</code> если нет). Устанавливает <code>null</code> для префикса который возвращает пространство имён по умолчанию.</p>
-<p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имен (т.е., с уставленным тем же <a href="/en/DOM/Node.prefix" title="En/DOM/Node.prefix">Node.prefix</a>).</p>
+<p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имён (т.е., с уставленным тем же <a href="/en/DOM/Node.prefix" title="En/DOM/Node.prefix">Node.prefix</a>).</p>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/node/lookupprefix/index.html b/files/ru/web/api/node/lookupprefix/index.html
index 10a92d81af..7a763c983c 100644
--- a/files/ru/web/api/node/lookupprefix/index.html
+++ b/files/ru/web/api/node/lookupprefix/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/Node/lookupPrefix
---
<div>{{APIRef("DOM")}}</div>
-<p>Метод <code><strong>Node.lookupPrefix()</strong></code> возвращает {{domxref("DOMString")}} содержащий префикс для данного пространства имен URI, если он присутствует, и <code>null</code> если нет. Когда возможно присутствие нескольких префиксов, результат зависит от реализации.</p>
+<p>Метод <code><strong>Node.lookupPrefix()</strong></code> возвращает {{domxref("DOMString")}} содержащий префикс для данного пространства имён URI, если он присутствует, и <code>null</code> если нет. Когда возможно присутствие нескольких префиксов, результат зависит от реализации.</p>
-<p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имен, которое установлено с тем же свойством {{domxref("Node.prefix")}}.</p>
+<p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имён, которое установлено с тем же свойством {{domxref("Node.prefix")}}.</p>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/node/namespaceuri/index.html b/files/ru/web/api/node/namespaceuri/index.html
index 56534ae20a..479df26e24 100644
--- a/files/ru/web/api/node/namespaceuri/index.html
+++ b/files/ru/web/api/node/namespaceuri/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Node/namespaceURI
<div>{{APIRef("DOM")}}</div>
</div>
-<p>Свойство <code><strong>Node.namespaceURI</strong></code> только для чтения, возвращает пространство имен URI узла или <code>null,</code> если узел не находится в пространстве имен (только для чтения). Хотя узел документа, возвращает пространство имен XML для текущего документа.</p>
+<p>Свойство <code><strong>Node.namespaceURI</strong></code> только для чтения, возвращает пространство имён URI узла или <code>null,</code> если узел не находится в пространстве имён (только для чтения). Хотя узел документа, возвращает пространство имён XML для текущего документа.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -15,7 +15,7 @@ translation_of: Web/API/Node/namespaceURI
<h2 id="Example" name="Example">Пример</h2>
-<p>В этом сниппете, узел рассматривается для его <a href="/en-US/docs/DOM/Node.localName" title="DOM/Node.localName">localName</a> и его <code>namespaceURI</code>. Если <code>namespaceURI</code> возвращает XUL пространство имен и <code>localName</code> возвращая "browser", затем узел XUL согласует <code>&lt;browser/&gt;</code>.</p>
+<p>В этом сниппете, узел рассматривается для его <a href="/en-US/docs/DOM/Node.localName" title="DOM/Node.localName">localName</a> и его <code>namespaceURI</code>. Если <code>namespaceURI</code> возвращает XUL пространство имён и <code>localName</code> возвращая "browser", затем узел XUL согласует <code>&lt;browser/&gt;</code>.</p>
<pre class="brush:js">if (node.localName == "browser" &amp;&amp;
node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") {
@@ -24,17 +24,17 @@ translation_of: Web/API/Node/namespaceURI
<h2 id="Notes" name="Notes">Примечание</h2>
-<p>Это не вычисленное значение, которое является результатом поиска имен на основе проверки декларации в области пространства имен. Пространство имен URI узла заморожена в момент создания узла.</p>
+<p>Это не вычисленное значение, которое является результатом поиска имён на основе проверки декларации в области пространства имён. Пространство имён URI узла заморожена в момент создания узла.</p>
-<p>В Firefox 3.5 и выше, пространство имен URI для HTML элементов в HTML документах это <code>null</code>. В более поздних версиях, в соответствии с HTML5, это <code><a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a></code> как в XHTML. {{gecko_minversion_inline("1.9.2")}}</p>
+<p>В Firefox 3.5 и выше, пространство имён URI для HTML элементов в HTML документах это <code>null</code>. В более поздних версиях, в соответствии с HTML5, это <code><a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a></code> как в XHTML. {{gecko_minversion_inline("1.9.2")}}</p>
<p>Для узлов любого <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node/NodeType/Node.nodeType">nodeType</a> кроме <code>ELEMENT_NODE</code> и <code>ATTRIBUTE_NODE</code> значение <code>namespaceURI</code> всегда <code>null</code>.</p>
<p>Вы можете создать элемент с конкретным <code>namespaceURI</code> используйте метод DOM Level 2 <a href="/en-US/docs/DOM/document.createElementNS" title="DOM/document.createElementNS">document.createElementNS</a>.</p>
-<p>Через <a class="external" href="http://www.w3.org/TR/xml-names11/">пространство имен в XML</a> спецификации, атрибуты не наследуют пространство имен для элемента к которому он прикреплен. Если у атрибута не задано явно пространство имен, он не имеет пространства имен.</p>
+<p>Через <a class="external" href="http://www.w3.org/TR/xml-names11/">пространство имён в XML</a> спецификации, атрибуты не наследуют пространство имён для элемента к которому он прикреплён. Если у атрибута не задано явно пространство имён, он не имеет пространства имен.</p>
-<p>DOM не обрабатывает или не вынуждает проверять пространство имен как таковое. Приложения выше DOM, делают необходимые проверки. <span id="result_box" lang="ru"><span class="hps">Отметим также,</span> <span class="hps">что</span> <span class="hps">префикс пространства имен</span><span>,</span> <span class="hps">когда</span> <span class="hps">он связан с</span> <span class="hps">конкретным узлом</span><span>,</span> <span class="hps">не может быть изменен</span><span>.</span></span></p>
+<p>DOM не обрабатывает или не вынуждает проверять пространство имён как таковое. Приложения выше DOM, делают необходимые проверки. <span id="result_box" lang="ru"><span class="hps">Отметим также,</span> <span class="hps">что</span> <span class="hps">префикс пространства имён</span><span>,</span> <span class="hps">когда</span> <span class="hps">он связан с</span> <span class="hps">конкретным узлом</span><span>,</span> <span class="hps">не может быть изменён</span><span>.</span></span></p>
<h2 id="Specifications" name="Specifications">Спецификации</h2>
diff --git a/files/ru/web/api/node/nextsibling/index.html b/files/ru/web/api/node/nextsibling/index.html
index cc874be72e..9ecb139758 100644
--- a/files/ru/web/api/node/nextsibling/index.html
+++ b/files/ru/web/api/node/nextsibling/index.html
@@ -65,7 +65,7 @@ while (el) {
**************************************************/
</pre>
-<p>В приведенном выше примере вы можете видеть, что <code>#text</code> узлы вставляются в DOM, где между тегами встречаются пробелы (т.е. после закрывающего тега элемента и до открывающего тега рядом). Не создается пробелов между элементами, вставленных с помощью <code>document.write</code></p>
+<p>В приведённом выше примере вы можете видеть, что <code>#text</code> узлы вставляются в DOM, где между тегами встречаются пробелы (т.е. после закрывающего тега элемента и до открывающего тега рядом). Не создаётся пробелов между элементами, вставленных с помощью <code>document.write</code></p>
<p>Возможность включения текстовых узлов в DOM должна быть разрешена, когда DOM обходится с помощью <code>nextSibling</code>. Смотрите раздел "Заметки".</p>
diff --git a/files/ru/web/api/node/nodevalue/index.html b/files/ru/web/api/node/nodevalue/index.html
index aba6e43755..dccb8f4c24 100644
--- a/files/ru/web/api/node/nodevalue/index.html
+++ b/files/ru/web/api/node/nodevalue/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/Node/nodeValue
<h2 id="Notes" name="Notes">Примечания</h2>
-<p>Для самого документа, <code>nodeValue</code> возвращает <code>null</code>. Для текста, комментария и CDATA узлов, <code>nodeValue</code> возвращает содержимое узла. Для узла атрибута, вернется значение атрибута.</p>
+<p>Для самого документа, <code>nodeValue</code> возвращает <code>null</code>. Для текста, комментария и CDATA узлов, <code>nodeValue</code> возвращает содержимое узла. Для узла атрибута, вернётся значение атрибута.</p>
<p>Следующая таблица, показывает возвращаемые значения различных элементов:</p>
diff --git a/files/ru/web/api/node/parentnode/index.html b/files/ru/web/api/node/parentnode/index.html
index 139880247f..a845f3d4b0 100644
--- a/files/ru/web/api/node/parentnode/index.html
+++ b/files/ru/web/api/node/parentnode/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/Node/parentNode
<h2 id="Summary" name="Summary">Аннотация</h2>
-<p>Возвращает родителя определенного элемента DOM дерева.</p>
+<p>Возвращает родителя определённого элемента DOM дерева.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -31,7 +31,7 @@ translation_of: Web/API/Node/parentNode
<p><code>Document</code> и <code>DocumentFragment</code> <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node.nodeType">nodes</a> <em> могут не иметь родителя</em>, в этом случае <code>parentNode</code> всегда возвращает <code>null</code>.</p>
-<p>Так же возвращает <code>null</code> если элемент только был создан и еще не добавлен в DOM дерево.</p>
+<p>Так же возвращает <code>null</code> если элемент только был создан и ещё не добавлен в DOM дерево.</p>
<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
diff --git a/files/ru/web/api/node/prefix/index.html b/files/ru/web/api/node/prefix/index.html
index 404f245f65..fe218e0507 100644
--- a/files/ru/web/api/node/prefix/index.html
+++ b/files/ru/web/api/node/prefix/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Node/prefix
<div>{{APIRef("DOM")}}</div>
</div>
-<p>Свойство <code><strong>Node.prefix</strong></code> только для чтения, возвращающее префикс пространства имен указанного узла или <code>null,</code> если не указан префикс. Это свойство только для чтения.</p>
+<p>Свойство <code><strong>Node.prefix</strong></code> только для чтения, возвращающее префикс пространства имён указанного узла или <code>null,</code> если не указан префикс. Это свойство только для чтения.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/node/removechild/index.html b/files/ru/web/api/node/removechild/index.html
index 738dadbaa6..0666aa815c 100644
--- a/files/ru/web/api/node/removechild/index.html
+++ b/files/ru/web/api/node/removechild/index.html
@@ -12,7 +12,7 @@ translation_of: Web/API/Node/removeChild
<h2 id="Summary" name="Summary">Аннотация</h2>
-<p>Удаляет дочерний элемент из DOM. Возвращает удаленный элемент.</p>
+<p>Удаляет дочерний элемент из DOM. Возвращает удалённый элемент.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
@@ -21,14 +21,14 @@ translation_of: Web/API/Node/removeChild
</pre>
<ul>
- <li><code>child</code> дочерний элемент который будет удален из DOM.</li>
+ <li><code>child</code> дочерний элемент который будет удалён из DOM.</li>
<li><code>element</code> родительский элемент удаляемого <code>child</code>.</li>
<li><code>oldChild</code> ссылка на удаляемый дочерний элемент. <code>oldChild</code> === <code>child</code>.</li>
</ul>
-<p>Удаленный дочерний элемент остается в памяти, но больше не является частью DOM. Вы можете повторно использовать удаленный элемент с помощью ссылки на объект - <code>oldChild</code>.</p>
+<p>Удалённый дочерний элемент остаётся в памяти, но больше не является частью DOM. Вы можете повторно использовать удалённый элемент с помощью ссылки на объект - <code>oldChild</code>.</p>
-<p>Если <code>child</code> не является дочерним элементом <code>element</code>, тогда метод генерирует исключение. Также это происходит если <code>child</code> является дочерним элементом <code>element</code> во время вызова метода, но был удален во время вызова обработчика событий удаляющего элемент(т.e при удалении элемента непосредственно перед вызовом обработчика событий).</p>
+<p>Если <code>child</code> не является дочерним элементом <code>element</code>, тогда метод генерирует исключение. Также это происходит если <code>child</code> является дочерним элементом <code>element</code> во время вызова метода, но был удалён во время вызова обработчика событий удаляющего элемент(т.e при удалении элемента непосредственно перед вызовом обработчика событий).</p>
<h2 id="Example" name="Example">Пример</h2>
diff --git a/files/ru/web/api/node/replacechild/index.html b/files/ru/web/api/node/replacechild/index.html
index c1959cc322..ae9a375735 100644
--- a/files/ru/web/api/node/replacechild/index.html
+++ b/files/ru/web/api/node/replacechild/index.html
@@ -14,34 +14,34 @@ original_slug: Web/API/Node.replaceChild
<div>
{{ApiRef}}</div>
<h2 id="Summary" name="Summary">Аннотация</h2>
-<p>Заменяет дочерний элемент на выбранный. Возвращает замененный элемент.</p>
+<p>Заменяет дочерний элемент на выбранный. Возвращает заменённый элемент.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
<pre class="syntaxbox"><em>replacedNode</em> = <em>parentNode</em>.replaceChild(<em>newChild</em>, <em>oldChild</em>);
</pre>
<ul>
- <li><code>newChild</code> элемент на который будет заменен <code>oldChild</code>. В случает если он уже есть в DOM, то сначала он будет удален.</li>
+ <li><code>newChild</code> элемент на который будет заменён <code>oldChild</code>. В случает если он уже есть в DOM, то сначала он будет удален.</li>
<li><code>oldChild</code> элемент который будет заменен.</li>
- <li><code>replacedNode</code> замененный элемент. Тоже самое что и <code>oldChild</code>.</li>
+ <li><code>replacedNode</code> заменённый элемент. Тоже самое что и <code>oldChild</code>.</li>
</ul>
<h2 id="Example" name="Example">Пример</h2>
<pre class="brush:js">// &lt;div&gt;
// &lt;span id="childSpan"&gt;foo bar&lt;/span&gt;
// &lt;/div&gt;
-// Создаем новый пустой элемент
+// Создаём новый пустой элемент
// without an ID, any attributes, or any content
var sp1 = document.createElement("span");
// Присваиваем ему id 'newSpan'
sp1.setAttribute("id", "newSpan");
-// Создаем строку.
+// Создаём строку.
var sp1_content = document.createTextNode("new replacement span element.");
// Добавляем контент в созданный нами узел
sp1.appendChild(sp1_content);
-// создаем ссылку на существующий элемент который будем заменять
+// создаём ссылку на существующий элемент который будем заменять
var sp2 = document.getElementById("childSpan");
var parentDiv = sp2.parentNode;
diff --git a/files/ru/web/api/node/textcontent/index.html b/files/ru/web/api/node/textcontent/index.html
index 479fae01e3..7ee831edaf 100644
--- a/files/ru/web/api/node/textcontent/index.html
+++ b/files/ru/web/api/node/textcontent/index.html
@@ -33,7 +33,7 @@ element.textContent = "Это просто текст";
<h3 id="Отличие_от_innerText">Отличие от <code>innerText</code></h3>
-<p><code>element.innerText</code> был введен Internet Explorer-ом. Работает по тому же принципу за небольшими исключениями:</p>
+<p><code>element.innerText</code> был введён Internet Explorer-ом. Работает по тому же принципу за небольшими исключениями:</p>
<ul>
<li><code>textContent</code> получает содержимое <em>всех</em> элементов, включая  {{HTMLElement("script")}} и {{HTMLElement("style")}}, тогда как <code>innerText</code> этого не делает.</li>
@@ -50,7 +50,7 @@ element.textContent = "Это просто текст";
<pre class="brush: js">// Дан следующий фрагмент:
// &lt;div id="block"&gt;Это — &lt;span&gt;просто&lt;/span&gt; текст&lt;/div&gt;
-// Достаем текстовое содержимое:
+// Достаём текстовое содержимое:
var text = document.getElementById("block").textContent;
// В переменной |text| находится: "Это — просто текст".
diff --git a/files/ru/web/api/nodelist/index.html b/files/ru/web/api/nodelist/index.html
index 1e3bf20fff..d102e8c70e 100644
--- a/files/ru/web/api/nodelist/index.html
+++ b/files/ru/web/api/nodelist/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/NodeList
<div class="note">
<p>Несмотря на то, что <code>NodeList</code> не является массивом ( <code>Array</code> ), его вполне возможно перебрать при помощи метода forEach(). NodeList также можно конвертировать в <code>Array</code> при помощи {{jsxref("Array.from()")}}</p>
-<p>Однако некоторые старые браузеры на данный момент все еще не поддерживают <code>NodeList.forEach()</code> или <code>Array.from()</code>. Данные ограничения можно обойти, используя {{jsxref("Array.forEach()", "Array.prototype.forEach()")}} ( больше информации на этой странице ).</p>
+<p>Однако некоторые старые браузеры на данный момент все ещё не поддерживают <code>NodeList.forEach()</code> или <code>Array.from()</code>. Данные ограничения можно обойти, используя {{jsxref("Array.forEach()", "Array.prototype.forEach()")}} ( больше информации на этой странице ).</p>
</div>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/notification/index.html b/files/ru/web/api/notification/index.html
index 0ba6b0d4d1..2f520242d4 100644
--- a/files/ru/web/api/notification/index.html
+++ b/files/ru/web/api/notification/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/Notification
<dl>
<dt>{{domxref("Notification.Notification", "Notification()")}}</dt>
- <dd>Создает новый экземпляр объекта <code>Notification</code>.</dd>
+ <dd>Создаёт новый экземпляр объекта <code>Notification</code>.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -79,7 +79,7 @@ translation_of: Web/API/Notification
<dt>{{domxref("Notification.title")}} {{readonlyinline}}</dt>
<dd>Заголовок уведомления, указывается в опциях как параметр конструктора.</dd>
<dt>{{domxref("Notification.vibrate")}} {{readonlyinline}}</dt>
- <dd>Задает шаблон вибрации для устройств с вибро.</dd>
+ <dd>Задаёт шаблон вибрации для устройств с вибро.</dd>
</dl>
<h4 id="Не_поддерживаемые_свойства">Не поддерживаемые свойства</h4>
@@ -106,7 +106,7 @@ translation_of: Web/API/Notification
<h4 id="Устаревшие_обработчики_событий">Устаревшие обработчики событий</h4>
-<p>Следующие обработчики событий все еще поддерживаются, как указано в разделе {{anch("browser compatibility")}} ниже, но более не входят в актуальную спецификацию. Небезосновательно можно предположить, что они устарели и могут перестать работать в будущих версиях браузеров.</p>
+<p>Следующие обработчики событий все ещё поддерживаются, как указано в разделе {{anch("browser compatibility")}} ниже, но более не входят в актуальную спецификацию. Небезосновательно можно предположить, что они устарели и могут перестать работать в будущих версиях браузеров.</p>
<dl>
<dt>{{domxref("Notification.onclose")}}</dt>
@@ -153,21 +153,21 @@ translation_of: Web/API/Notification
// Проверка разрешения на отправку уведомлений
else if (Notification.permission === "granted") {
- // Если разрешено, то создаем уведомление
+ // Если разрешено, то создаём уведомление
var notification = new Notification("Hi there!");
}
// В противном случае, запрашиваем разрешение
else if (Notification.permission !== 'denied') {
Notification.requestPermission(function (permission) {
- // Если пользователь разрешил, то создаем уведомление
+ // Если пользователь разрешил, то создаём уведомление
if (permission === "granted") {
var notification = new Notification("Hi there!");
}
});
}
- // В конечном счете, если пользователь отказался от получения
+ // В конечном счёте, если пользователь отказался от получения
// уведомлений, то стоит уважать его выбор и не беспокоить его
  // по этому поводу.
}</pre>
@@ -180,7 +180,7 @@ translation_of: Web/API/Notification
console.log(result);
});</code></pre>
-<p>Затем мы запускаем простую функцию <code>spawnNotification()</code>, когда мы хотим вывести уведомление, передающую аргументы для указания тела, иконки и заголовка, которые нам нужны, а затем она создает необходимый объект параметров <code>options</code> и запускает уведомление с помощью конструктора  {{domxref("Notification.Notification","Notification()")}}.</p>
+<p>Затем мы запускаем простую функцию <code>spawnNotification()</code>, когда мы хотим вывести уведомление, передающую аргументы для указания тела, иконки и заголовка, которые нам нужны, а затем она создаёт необходимый объект параметров <code>options</code> и запускает уведомление с помощью конструктора  {{domxref("Notification.Notification","Notification()")}}.</p>
<pre class="brush: js"><code>function spawnNotification(body, icon, title) {
var options = {
diff --git a/files/ru/web/api/notifications_api/index.html b/files/ru/web/api/notifications_api/index.html
index 5641358a8a..8fdc6b6de0 100644
--- a/files/ru/web/api/notifications_api/index.html
+++ b/files/ru/web/api/notifications_api/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Notifications_API
---
<p>{{DefaultAPISidebar("Web Notifications")}}</p>
-<p class="summary">Notifications API позволяют web-страницам контролировать отображение системных уведомлений для конечного пользователя — они находятся вне контекста окна браузера верхнего уровня, поэтому могут отображаться даже если пользователь сменил вкладку или перешел к другому приложению. API были разработаны таким образом, чтобы поддерживать совместимость с существующими системами уведомлений на различных платформах.</p>
+<p class="summary">Notifications API позволяют web-страницам контролировать отображение системных уведомлений для конечного пользователя — они находятся вне контекста окна браузера верхнего уровня, поэтому могут отображаться даже если пользователь сменил вкладку или перешёл к другому приложению. API были разработаны таким образом, чтобы поддерживать совместимость с существующими системами уведомлений на различных платформах.</p>
<h2 id="Концепция_и_использование">Концепция и использование</h2>
@@ -19,7 +19,7 @@ translation_of: Web/API/Notifications_API
<p><strong>Заметка</strong>: Для Firefox 44, разрешения для Notifications и <a href="/en-US/docs/Web/API/Push_API">Push</a> объединяются. Если было установлено разрешение для уведомлений, push так же будут разрешены .</p>
</div>
-<p>Затем создается новое уведомление с помощью конструктора  {{domxref("Notification.Notification","Notification()")}}. В функцию должен быть передан аргумент заголовка и, по желанию, объект настроек, чтобы определить опции, такие как направление и тело текста, иконка, звук уведомления и т.д.</p>
+<p>Затем создаётся новое уведомление с помощью конструктора  {{domxref("Notification.Notification","Notification()")}}. В функцию должен быть передан аргумент заголовка и, по желанию, объект настроек, чтобы определить опции, такие как направление и тело текста, иконка, звук уведомления и т.д.</p>
<p>{{AvailableInWorkers}}</p>
diff --git a/files/ru/web/api/page_visibility_api/index.html b/files/ru/web/api/page_visibility_api/index.html
index 7cfb82fdba..3ac365ba5d 100644
--- a/files/ru/web/api/page_visibility_api/index.html
+++ b/files/ru/web/api/page_visibility_api/index.html
@@ -27,9 +27,9 @@ original_slug: Web/API/Видимость_страницы_API
<p>Давайте рассмотрим несколько способов использования Page Visibility API.</p>
<ul>
- <li>На сайте есть слайдер изображений с автопрокруткой, которую можно поставить на паузу, когда пользователь перешел на другую вкладку</li>
+ <li>На сайте есть слайдер изображений с автопрокруткой, которую можно поставить на паузу, когда пользователь перешёл на другую вкладку</li>
<li>Приложение выводит информацию в реальном времени, которую можно не обновлять, пока страница не видна, тем самым уменьшить количество запросов на сервер</li>
- <li>Странице нужно понять, когда она должна быть отрисована, так что можно вести точный подсчет количества просмотров</li>
+ <li>Странице нужно понять, когда она должна быть отрисована, так что можно вести точный подсчёт количества просмотров</li>
<li>Сайту нужно выключить звук, когда устройство в режиме ожидания (пользователь нажал кнопку включения, чтобы погасить экран)</li>
</ul>
diff --git a/files/ru/web/api/pannernode/index.html b/files/ru/web/api/pannernode/index.html
index c8076f49df..a10a3c1eb4 100644
--- a/files/ru/web/api/pannernode/index.html
+++ b/files/ru/web/api/pannernode/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/PannerNode
<div><code>PannerNode</code> всегда имеет только один вход и один выход: вход может быть <em>моно</em> или <em>стерео</em>, но выход всегда <em>стерео</em> (2 канала); нельзя получить эффекты панорамирования при отсутствии, как минимум двух аудиоканалов!</div>
</div>
-<p><img alt="PannerNode задает положение в пространстве, скорость распространения и направленность данного сигнала." src="https://mdn.mozillademos.org/files/15375/PannerNode.png" style="height: 263px; margin-left: 20px; margin-right: 20px; width: 720px;"></p>
+<p><img alt="PannerNode задаёт положение в пространстве, скорость распространения и направленность данного сигнала." src="https://mdn.mozillademos.org/files/15375/PannerNode.png" style="height: 263px; margin-left: 20px; margin-right: 20px; width: 720px;"></p>
<table class="properties">
<tbody>
@@ -28,7 +28,7 @@ translation_of: Web/API/PannerNode
<td><code>1</code></td>
</tr>
<tr>
- <th scope="row">Режим подсчета каналов</th>
+ <th scope="row">Режим подсчёта каналов</th>
<td><code>"clamped-max"</code></td>
</tr>
<tr>
@@ -50,7 +50,7 @@ translation_of: Web/API/PannerNode
<div class="note_trans">
<div>
<dl>
- <dd>Создает новый экземпляр <code>PannerNode.</code></dd>
+ <dd>Создаёт новый экземпляр <code>PannerNode.</code></dd>
</dl>
</div>
</div>
@@ -73,7 +73,7 @@ translation_of: Web/API/PannerNode
<dt>{{domxref("PannerNode.coneOuterAngle")}}</dt>
<dd>Это значение типа <code> double</code>, представляющее угол конуса (в градусах), вне которого громкость звука будет уменьшена на постоянное значение, определяемое атрибутом <code>coneOuterGain.</code></dd>
<dt>{{domxref("PannerNode.coneOuterGain")}}</dt>
- <dd>Это значение типа <code>double</code>, представляющее величину снижения уровня громкости вне конуса, определенного атрибутом <code>coneOuterAngle</code>. Значение по умолчанию равно <code>0</code>, то есть, вне конуса звук не будет слышен.</dd>
+ <dd>Это значение типа <code>double</code>, представляющее величину снижения уровня громкости вне конуса, определённого атрибутом <code>coneOuterAngle</code>. Значение по умолчанию равно <code>0</code>, то есть, вне конуса звук не будет слышен.</dd>
<dt>{{domxref("PannerNode.distanceModel")}}</dt>
<dd>Перечислимое значение, определяющее, какой алгоритм будет использован для уменьшения громкости источника звука при удалении его от слушателя.</dd>
<dt>{{domxref("PannerNode.maxDistance")}}</dt>
@@ -83,15 +83,15 @@ translation_of: Web/API/PannerNode
<dt>{{domxref("PannerNode.orientationY")}}</dt>
<dd>Представляет вертикальное положение вектора источника звука в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
<dt>{{domxref("PannerNode.orientationZ")}}</dt>
- <dd>Представляет продольную (вперед - назад) позицию вектора распространения звука от источника в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
+ <dd>Представляет продольную (вперёд - назад) позицию вектора распространения звука от источника в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
<dt>{{domxref("PannerNode.panningModel")}}</dt>
- <dd>Перечислимое значение, определяющее какой алгоритм пространственной обработки используется для размещения источника звука в трехмерном пространстве.</dd>
+ <dd>Перечислимое значение, определяющее какой алгоритм пространственной обработки используется для размещения источника звука в трёхмерном пространстве.</dd>
<dt>{{domxref("PannerNode.positionX")}}</dt>
<dd>Представляет горизонтальное положение источника звука в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
<dt>{{domxref("PannerNode.positionY")}}</dt>
<dd>Представляет вертикальное положение источника звука в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
<dt>{{domxref("PannerNode.positionZ")}}</dt>
- <dd>Представляет позицию источника звука вдоль оси Z (вперед и назад) в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
+ <dd>Представляет позицию источника звука вдоль оси Z (вперёд и назад) в правосторонней системе координат Декарта. Значение по умолчанию равно 0. В то время как данный {{domxref("AudioParam")}} непосредственно изменить нельзя, его значение может быть изменено через его свойство {{domxref("AudioParam.value", "value")}}. Значение по умолчанию равно 0.</dd>
<dt>{{domxref("PannerNode.refDistance")}}</dt>
<dd>Значение типа <code>double</code>, представляющее справочное (опорное) расстояние для уменьшения громкости при удалении источника звука от слушателя.</dd>
<dt>{{domxref("PannerNode.rolloffFactor")}}</dt>
@@ -119,7 +119,7 @@ translation_of: Web/API/PannerNode
<dl>
<dt>{{domxref("PannerNode.setVelocity()")}} {{obsolete_inline}}</dt>
<dd>Это устаревший элемент API и его работа в дальнейшем не гарантируется.<br>
- Определяет вектор распространения звука от источника - как быстро он движется и в каком направлении. В предыдущей версии спецификации, {{domxref("PannerNode")}} имел скорость распространения, которую можно было выдать выше или ниже подключенного потока {{domxref("AudioBufferSourceNode")}}. Эта функция не была четко оговорена и имела ряд проблем, поэтому была удалена из спецификации.</dd>
+ Определяет вектор распространения звука от источника - как быстро он движется и в каком направлении. В предыдущей версии спецификации, {{domxref("PannerNode")}} имел скорость распространения, которую можно было выдать выше или ниже подключённого потока {{domxref("AudioBufferSourceNode")}}. Эта функция не была чётко оговорена и имела ряд проблем, поэтому была удалена из спецификации.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
diff --git a/files/ru/web/api/parentnode/prepend/index.html b/files/ru/web/api/parentnode/prepend/index.html
index 709a620f85..40017ad44f 100644
--- a/files/ru/web/api/parentnode/prepend/index.html
+++ b/files/ru/web/api/parentnode/prepend/index.html
@@ -16,7 +16,7 @@ translation_of: Web/API/ParentNode/prepend
<dl>
<dt><code>nodesToPrepend</code></dt>
- <dd>Один или болле узлов, которые вставляются перед первым дочерним узлом в  <code>ParentNode</code>. Каждый узел может быть определен либо как {{domxref("Node")}} - объект, либо как строка; строки вставляются как новые узлы типа {{domxref("Text")}}.</dd>
+ <dd>Один или болле узлов, которые вставляются перед первым дочерним узлом в  <code>ParentNode</code>. Каждый узел может быть определён либо как {{domxref("Node")}} - объект, либо как строка; строки вставляются как новые узлы типа {{domxref("Text")}}.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
diff --git a/files/ru/web/api/performance/index.html b/files/ru/web/api/performance/index.html
index b8c2735644..bc721672b6 100644
--- a/files/ru/web/api/performance/index.html
+++ b/files/ru/web/api/performance/index.html
@@ -16,7 +16,7 @@ translation_of: Web/API/Performance
<p>Объект этого типа может быть получен в результате вызова атрибута {{domxref("Window.performance")}}, доступного только для чтения.</p>
<div class="note">
-<p><strong><em>Замечание</em>: </strong>Этот интерфейс и его составляющие доступны в <a href="/ru/docs/Web/API/Web_Workers_API">фоновых потоках выполнения</a>, за исключением случаев, перечисленных ниже. Заметим, что некоторые доступные части интерфейса еще не документированы (подробнее см. разделы документации <a href="http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute">Performance Timeline</a> и <a href="http://www.w3.org/TR/user-timing/#extensions-performance-interface">User Timing</a>). Также заметим, что временные метки производительности относятся к текущему контексту. Если Вы создадите метку в основном потоке (или в другом фоновом потоке), то ее нельзя будет увидеть в другом фоновом потоке и наоборот.</p>
+<p><strong><em>Замечание</em>: </strong>Этот интерфейс и его составляющие доступны в <a href="/ru/docs/Web/API/Web_Workers_API">фоновых потоках выполнения</a>, за исключением случаев, перечисленных ниже. Заметим, что некоторые доступные части интерфейса ещё не документированы (подробнее см. разделы документации <a href="http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute">Performance Timeline</a> и <a href="http://www.w3.org/TR/user-timing/#extensions-performance-interface">User Timing</a>). Также заметим, что временные метки производительности относятся к текущему контексту. Если Вы создадите метку в основном потоке (или в другом фоновом потоке), то её нельзя будет увидеть в другом фоновом потоке и наоборот.</p>
</div>
<h2 id="Свойства">Свойства</h2>
@@ -56,9 +56,9 @@ translation_of: Web/API/Performance
<dt>{{domxref("Performance.getEntriesByType()")}}</dt>
<dd>Возвращает список объектов {{domxref("PerformanceEntry")}} переданного, как аргумент, <em>типа записи</em>.</dd>
<dt>{{domxref("Performance.mark()")}}</dt>
- <dd>Создает {{domxref("DOMHighResTimeStamp","временну́ю метку")}} с заданным именем в <em>буфере записей производительности.</em></dd>
+ <dd>Создаёт {{domxref("DOMHighResTimeStamp","временну́ю метку")}} с заданным именем в <em>буфере записей производительности.</em></dd>
<dt>{{domxref("Performance.measure()")}}</dt>
- <dd>Создает именованную {{domxref("DOMHighResTimeStamp","временну́ю метку")}} в буфере записей производительности браузера между двумя определенными метками (известных как <em>start mark</em> (начальная метка) и <em>end mark </em>(конечная метка), соответственно).</dd>
+ <dd>Создаёт именованную {{domxref("DOMHighResTimeStamp","временну́ю метку")}} в буфере записей производительности браузера между двумя определёнными метками (известных как <em>start mark</em> (начальная метка) и <em>end mark </em>(конечная метка), соответственно).</dd>
<dt>{{domxref("Performance.now()")}}</dt>
<dd>Возвращает объект {{domxref("DOMHighResTimeStamp")}}, представляющий количество миллисекунд, прошедших с начала момента отсчета.</dd>
<dt>{{domxref("Performance.setResourceTimingBufferSize()")}}</dt>
diff --git a/files/ru/web/api/performance/now/index.html b/files/ru/web/api/performance/now/index.html
index bf7359c969..3c0ae8630b 100644
--- a/files/ru/web/api/performance/now/index.html
+++ b/files/ru/web/api/performance/now/index.html
@@ -33,7 +33,7 @@ var t1 = performance.now();
console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.")
</pre>
-<p>В отличие от других временны́х типов данных, доступных в JavaScript (таких как <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Date/now" title="/en-US/docs/JavaScript/Reference/Global_Objects/Date/now"><code>Date.now</code></a>), метки времени, возвращенные из <code>performance.now(),</code> не ограничены кратностью в одну миллисекунду, а представляют значение времени как число с плавающей запятой, с точностью до микросекунд.</p>
+<p>В отличие от других временны́х типов данных, доступных в JavaScript (таких как <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Date/now" title="/en-US/docs/JavaScript/Reference/Global_Objects/Date/now"><code>Date.now</code></a>), метки времени, возвращённые из <code>performance.now(),</code> не ограничены кратностью в одну миллисекунду, а представляют значение времени как число с плавающей запятой, с точностью до микросекунд.</p>
<p>Также, в противоположность <code>Date.now</code>, значение, возвращаемое из <code>performance.now(), всегда возрастает с постоянной скоростью, независимо от системного времени </code>(которое может быть установлено вручную или изменено программами наподобие NTP).</p>
diff --git a/files/ru/web/api/pointer_lock_api/index.html b/files/ru/web/api/pointer_lock_api/index.html
index f02441f710..380e2b0888 100644
--- a/files/ru/web/api/pointer_lock_api/index.html
+++ b/files/ru/web/api/pointer_lock_api/index.html
@@ -3,11 +3,11 @@ title: Pointer Lock API
slug: Web/API/Pointer_Lock_API
translation_of: Web/API/Pointer_Lock_API
---
-<p><span class="seoSummary"><strong>Pointer lock</strong> <strong>API</strong>(прежнее название Mouse Lock API) </span><span style="line-height: 1.5;">обеспечивает методы ввода, основанные на движении мыши , а не только абсолютно позиционированых координатах курсора </span><span style="line-height: 1.5;">в окне. Это дает вам доступ к необработанным движениям мыши, прикрепляет курсор мыши к любому элементу </span><span style="line-height: 1.5;">в окне браузера</span><span style="line-height: 1.5;">, предоставляет возможность вычислять координаты мыши не ограниченной областью окна проекции, и скрывает курсор из поля зрения. Это идеальное решение для 3D игр, например.</span></p>
+<p><span class="seoSummary"><strong>Pointer lock</strong> <strong>API</strong>(прежнее название Mouse Lock API) </span><span style="line-height: 1.5;">обеспечивает методы ввода, основанные на движении мыши , а не только абсолютно позиционированых координатах курсора </span><span style="line-height: 1.5;">в окне. Это даёт вам доступ к необработанным движениям мыши, прикрепляет курсор мыши к любому элементу </span><span style="line-height: 1.5;">в окне браузера</span><span style="line-height: 1.5;">, предоставляет возможность вычислять координаты мыши не ограниченной областью окна проекции, и скрывает курсор из поля зрения. Это идеальное решение для 3D игр, например.</span></p>
<p>Более того, API полезно для любых приложений, которые используют данные мыши для управления движениями, вращения объектов и изменения записей. Например пользователь может управлять наклоном просто двигая мышь, не нажимая ни на какие кнопки. Сами кнопки освобождаются под другие задачи. Примерами могут послужить  программы для просмотра карт или спутниковой съемки.</p>
-<p>Блокировка указателя позволяет вам получить доступ к данным мыши, даже если курсор ушел за границы экрана или браузера. Например, ваши пользователи могут продолжать вращать или управлять 3D моделью движением мыши бесконечно. Без блокировки вращение или управление останавливается, как только курсор достигает края браузера или экрана. Геймеры теперь могут нажимать кнопки и водить курсором взад и вперед, не боясь покинуть игровое поле и случайно переключится на другое приложение.</p>
+<p>Блокировка указателя позволяет вам получить доступ к данным мыши, даже если курсор ушёл за границы экрана или браузера. Например, ваши пользователи могут продолжать вращать или управлять 3D моделью движением мыши бесконечно. Без блокировки вращение или управление останавливается, как только курсор достигает края браузера или экрана. Геймеры теперь могут нажимать кнопки и водить курсором взад и вперёд, не боясь покинуть игровое поле и случайно переключится на другое приложение.</p>
<h2 id="basics" name="basics">Основные концепции</h2>
diff --git a/files/ru/web/api/positionoptions/index.html b/files/ru/web/api/positionoptions/index.html
index 9f0fb0b77d..e9d175035c 100644
--- a/files/ru/web/api/positionoptions/index.html
+++ b/files/ru/web/api/positionoptions/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/PositionOptions
<dl>
<dt>{{domxref("PositionOptions.enableHighAccuracy")}}</dt>
- <dd>{{domxref("Boolean")}} сообщает приложению, что нужно получить максимально уточненный результат. Если <code>true</code> и устройство поддерживает расширенный поиск локации, то он будет осуществлен. Нужно учитывать, что это может привести к замедлению времени отклика или увеличению потребляемых ресурсов (например расширенному использованию GPS на мобильных устройствах). Если <code>false</code>, устройство будет искать максимально быстро и экономично, что уменьшает точность. По умолчанию: <code>false</code>.</dd>
+ <dd>{{domxref("Boolean")}} сообщает приложению, что нужно получить максимально уточнённый результат. Если <code>true</code> и устройство поддерживает расширенный поиск локации, то он будет осуществлён. Нужно учитывать, что это может привести к замедлению времени отклика или увеличению потребляемых ресурсов (например расширенному использованию GPS на мобильных устройствах). Если <code>false</code>, устройство будет искать максимально быстро и экономично, что уменьшает точность. По умолчанию: <code>false</code>.</dd>
<dt>{{domxref("PositionOptions.timeout")}}</dt>
<dd>Положительное число в миллисекундах, устанавливающее время, за которое устройство должно вернуть результат. По умолчанию это значение <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a></code>, что значит, <code>getCurrentPosition()</code> будет работать до тех пор пока не определит положение устройства.</dd>
<dt>{{domxref("PositionOptions.maximumAge")}}</dt>
diff --git a/files/ru/web/api/push_api/index.html b/files/ru/web/api/push_api/index.html
index 138ca1fb86..7fbf680b2b 100644
--- a/files/ru/web/api/push_api/index.html
+++ b/files/ru/web/api/push_api/index.html
@@ -10,7 +10,7 @@ translation_of: Web/API/Push_API
---
<p>{{DefaultAPISidebar("Push API")}}{{SeeCompatTable}}</p>
-<p><strong>Push API</strong> дает веб приложениям возможность получать сообщения отправленные с сервера, независимо от того, запущено ли веб приложение в фоне или даже загружено ли оно вообще пользователем. Это позволяет разработчикам посылать асинхронные сообщения и обновления пользователям которые подписались на них, как результат улучшается информированность пользователей о новом контенте</p>
+<p><strong>Push API</strong> даёт веб приложениям возможность получать сообщения отправленные с сервера, независимо от того, запущено ли веб приложение в фоне или даже загружено ли оно вообще пользователем. Это позволяет разработчикам посылать асинхронные сообщения и обновления пользователям которые подписались на них, как результат улучшается информированность пользователей о новом контенте</p>
<div class="note">
<p><strong>Примечание</strong>: Эта документация охватывает спецификацию W3C Push API ; если вы ищете документацию по запатентованной технологии Firefox OS , <a href="/en-US/docs/Web/API/Simple_Push_API">смотрите здесь</a>.</p>
@@ -38,10 +38,10 @@ translation_of: Web/API/Push_API
<p>Каждая подписка уникальна по отношению к service worker. Адрес для подписки это уникальный <a href="http://www.w3.org/TR/capability-urls/">capability URL</a>: все что нужно чтобы отослать сообщение вашему приложению это адрес. Однако это URL необходимо держать в секрете, иначе любое другое приложение сможет слать push уведомление к вашему приложению.</p>
-<p>Использование service worker для получения push уведомлений может привести к повышенному потреблению ресурсов, например это может влиять на расход батареи. Во всех браузерах это работает по разному - нет стандарта на этот счет. К примеру Firefox позволяет лишь ограниченное число уведомлений которое может быть отправлено приложению, а Chrome не имеет таких ограничений, однако обязывает показывать уведомление пользователю каждый раз, чтобы пользователь мог решить хочет он или нет принимать их дальше.</p>
+<p>Использование service worker для получения push уведомлений может привести к повышенному потреблению ресурсов, например это может влиять на расход батареи. Во всех браузерах это работает по разному - нет стандарта на этот счёт. К примеру Firefox позволяет лишь ограниченное число уведомлений которое может быть отправлено приложению, а Chrome не имеет таких ограничений, однако обязывает показывать уведомление пользователю каждый раз, чтобы пользователь мог решить хочет он или нет принимать их дальше.</p>
<div class="note">
-<p><strong>Примечание: </strong><span id="result_box" lang="ru"><span>Начиная с Gecko 44, разрешенная квота push-</span></span>уведомлений<span lang="ru"><span> для каждого приложения не увеличивается, в случае если новое уведомление срабатывает когда другое все еще должна отображаться в течение трех секунд.</span> <span>Это обрабатывает случаи, когда получены несколько Push </span></span>уведомлений подряд<span lang="ru"><span> и не все генерируют видимое уведомление.</span></span></p>
+<p><strong>Примечание: </strong><span id="result_box" lang="ru"><span>Начиная с Gecko 44, разрешённая квота push-</span></span>уведомлений<span lang="ru"><span> для каждого приложения не увеличивается, в случае если новое уведомление срабатывает когда другое все ещё должна отображаться в течение трёх секунд.</span> <span>Это обрабатывает случаи, когда получены несколько Push </span></span>уведомлений подряд<span lang="ru"><span> и не все генерируют видимое уведомление.</span></span></p>
</div>
<div class="note">
diff --git a/files/ru/web/api/pushmanager/subscribe/index.html b/files/ru/web/api/pushmanager/subscribe/index.html
index a264d593d7..008a7438d8 100644
--- a/files/ru/web/api/pushmanager/subscribe/index.html
+++ b/files/ru/web/api/pushmanager/subscribe/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/PushManager/subscribe
<p><code style=""><font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Метод </span></font><strong>subscribe()</strong></code> интерфейса {{domxref("PushManager")}} позволяет осуществлять подписку на push-уведомления.</p>
-<p>Возвращает {{jsxref("Promise")}}, который разрешается в объект {{domxref("PushSubscription")}}, содержащий детали push-подписки. Новая push-подписка создается в случае, если сервис-воркер не имеет существующей подписки.</p>
+<p>Возвращает {{jsxref("Promise")}}, который разрешается в объект {{domxref("PushSubscription")}}, содержащий детали push-подписки. Новая push-подписка создаётся в случае, если сервис-воркер не имеет существующей подписки.</p>
<h2 id="Синтакс">Синтакс</h2>
@@ -52,7 +52,7 @@ navigator.serviceWorker.register('serviceworker.js').then(
// при помощи XMLHttpRequest.</code>
}, function(error) {
<code>// При разработке это часто помогает отлавливать ошибки в консоли.
- // В продакшен-среде это также может быть полезно для отправки отчета
+ // В продакшен-среде это также может быть полезно для отправки отчёта
// об ошибках на сервер приложения.</code>
console.log(error);
}
diff --git a/files/ru/web/api/range/surroundcontents/index.html b/files/ru/web/api/range/surroundcontents/index.html
index 5108735c19..863ef08fd7 100644
--- a/files/ru/web/api/range/surroundcontents/index.html
+++ b/files/ru/web/api/range/surroundcontents/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Range/surroundContents
<p>Этот метод приблизительно эквивалентен коду <code>newNode.appendChild(<a href="/en/DOM/range.extractContents" title="en/DOM/range.extractContents">range.extractContents()</a>); <a href="/en-US/docs/DOM/range.insertNode" title="/en-US/docs/DOM/range.insertNode">range.insertNode</a>(newNode)</code>. После его работы крайние точки диапазона будут включать в себя <code>newNode</code>.</p>
-<p>Если {{ domxref("Range") }} разделяет любой не <a href="https://developer.mozilla.org/en-US/docs/Web/API/Text">текстовый</a> элемент хотя бы одной точкой, произойдет исключение. В отличие от альтернативы выше, если в диапазоне есть частично выделенные элементы, они не будут клонированы, а вместо этого производит ошибка.</p>
+<p>Если {{ domxref("Range") }} разделяет любой не <a href="https://developer.mozilla.org/en-US/docs/Web/API/Text">текстовый</a> элемент хотя бы одной точкой, произойдёт исключение. В отличие от альтернативы выше, если в диапазоне есть частично выделенные элементы, они не будут клонированы, а вместо этого производит ошибка.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/response/index.html b/files/ru/web/api/response/index.html
index 30f50ac1a0..e32d4d23b9 100644
--- a/files/ru/web/api/response/index.html
+++ b/files/ru/web/api/response/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/Response
<p><span class="seoSummary">Интерфейс <strong><code>Response</code></strong> из <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a> представляет собой ответ на запрос.</span></p>
-<p>Вы можете создать новый экземпляр объекта <code>Response</code> используя конструктор {{domxref("Response.Response()")}}, но скорее всего вы столкнетесь с объектом <code>Response</code>, как результат какой-нибудь API операции — например, service worker {{domxref("Fetchevent.respondWith")}}, или {{domxref("WindowOrWorkerGlobalScope.fetch()")}}.</p>
+<p>Вы можете создать новый экземпляр объекта <code>Response</code> используя конструктор {{domxref("Response.Response()")}}, но скорее всего вы столкнётесь с объектом <code>Response</code>, как результат какой-нибудь API операции — например, service worker {{domxref("Fetchevent.respondWith")}}, или {{domxref("WindowOrWorkerGlobalScope.fetch()")}}.</p>
<h2 id="Конструктор">Конструктор</h2>
diff --git a/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html b/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html
index 227387085a..4cc50b9e0b 100644
--- a/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html
+++ b/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html
@@ -7,9 +7,9 @@ translation_of: Web/API/RTCPeerConnection/canTrickleIceCandidates
<div></div>
-<div><span class="seoSummary">Свойство только для чтения <code><strong>canTrickleIceCandidates</strong></code> , объекта <strong>{{domxref("RTCPeerConnection")}}</strong>, возвращает значение типа {{jsxref("Boolean")}} , которое указывает на то, может ли удаленный пир принимать кандидаты, согласно спецификации  <a href="https://tools.ietf.org/html/draft-ietf-mmusic-trickle-ice">trickled ICE candidates</a>.</span></div>
+<div><span class="seoSummary">Свойство только для чтения <code><strong>canTrickleIceCandidates</strong></code> , объекта <strong>{{domxref("RTCPeerConnection")}}</strong>, возвращает значение типа {{jsxref("Boolean")}} , которое указывает на то, может ли удалённый пир принимать кандидаты, согласно спецификации  <a href="https://tools.ietf.org/html/draft-ietf-mmusic-trickle-ice">trickled ICE candidates</a>.</span></div>
-<p><strong>ICE trickling (ICE просачивание)</strong>  - процесс продолжающейся отправки кандидатов, после первоначальной передачи предложения или ответа удаленному пиру..</p>
+<p><strong>ICE trickling (ICE просачивание)</strong>  - процесс продолжающейся отправки кандидатов, после первоначальной передачи предложения или ответа удалённому пиру..</p>
<p>Свойство инициализируется только после вызова метода  {{domxref("RTCPeerConnection.setRemoteDescription()")}}.  Было бы идеально, если бы ваш протокол сигнализации предоставлял способ определения поддержки просачивания кандидатов, для того, что бы не полагаться на это свойство. Браузер, поддерживающий WebRTC, всегда будет поддерживать ICE просачивание.</p>
@@ -21,10 +21,10 @@ translation_of: Web/API/RTCPeerConnection/canTrickleIceCandidates
<h3 id="Значение">Значение</h3>
-<p>Тип  {{jsxref("Boolean")}} содержит <code>true</code> , если удаленный пир может принимать просвечивающие ICE кандидаты, и  <code>false</code> , если не может. Если удаленный пир еще не инициализирован, свойство возвращает <code>null</code>.</p>
+<p>Тип  {{jsxref("Boolean")}} содержит <code>true</code> , если удалённый пир может принимать просвечивающие ICE кандидаты, и  <code>false</code> , если не может. Если удалённый пир ещё не инициализирован, свойство возвращает <code>null</code>.</p>
<div class="note">
-<p><strong>Примечание :</strong> Значение свойства инициализируется после того, как локальный пир вызовет метод {{domxref("RTCPeerConnection.setRemoteDescription()")}};  Возвращаемый объект описания используется агентом ICE для определения возможности удаленного пира поддерживать просачивающихся  ICE кандидатов.</p>
+<p><strong>Примечание :</strong> Значение свойства инициализируется после того, как локальный пир вызовет метод {{domxref("RTCPeerConnection.setRemoteDescription()")}};  Возвращаемый объект описания используется агентом ICE для определения возможности удалённого пира поддерживать просачивающихся  ICE кандидатов.</p>
</div>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/api/rtcpeerconnection/currentlocaldescription/index.html b/files/ru/web/api/rtcpeerconnection/currentlocaldescription/index.html
index b0ddb77eb3..09fa8f0f88 100644
--- a/files/ru/web/api/rtcpeerconnection/currentlocaldescription/index.html
+++ b/files/ru/web/api/rtcpeerconnection/currentlocaldescription/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/RTCPeerConnection/currentLocalDescription
---
<p>{{WebRTCSidebar}} </p>
-<p>Только для чтения свойство  <code><strong>RTCPeerConnection.currentLocalDescription</strong></code> возвращает объект  {{domxref("RTCSessionDescription")}} , описывающий локальную сторону соединения, как  самый последний, удачно согласованный объект описания, с момента последнего завершения согласования  {{domxref("RTCPeerConnection")}} и соединения с удаленным пиром (участником соединения) . </p>
+<p>Только для чтения свойство  <code><strong>RTCPeerConnection.currentLocalDescription</strong></code> возвращает объект  {{domxref("RTCSessionDescription")}} , описывающий локальную сторону соединения, как  самый последний, удачно согласованный объект описания, с момента последнего завершения согласования  {{domxref("RTCPeerConnection")}} и соединения с удалённым пиром (участником соединения) . </p>
<p>Для изменения <code>currentLocalDescription</code>, вызовите метод {{domxref("RTCPeerConnection.setLocalDescription()")}}, который запускает серию событий, приводящих к присвоению значения. Более подробно о том, что точно происходит и почему изменения происходят не сразу, смотрите   {{SectionOnPage("/en-US/docs/Web/API/WebRTC_API/Connectivity", "Ожидающие и текущие объекты описания")}}.</p>
@@ -34,7 +34,7 @@ if (sd) {
sd.sdp + "'");
}
else {
- alert("Локальной сессии еще нет.");
+ alert("Локальной сессии ещё нет.");
}
</pre>
diff --git a/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html b/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html
index a894369844..8793f0e379 100644
--- a/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html
+++ b/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/RTCPeerConnection/currentRemoteDescription
---
<p>{{WebRTCSidebar}}</p>
-<p>Только для чтения свойство <code><strong>RTCPeerConnection.currentRemoteDescription</strong></code> возвращает объект  {{domxref("RTCSessionDescription")}} , представляющий удаленную сторону соединения, как последний, успешно согласованный объект данных, с момента завершения согласования и установки соединения объектом {{domxref("RTCPeerConnection")}} с удаленным пиром. </p>
+<p>Только для чтения свойство <code><strong>RTCPeerConnection.currentRemoteDescription</strong></code> возвращает объект  {{domxref("RTCSessionDescription")}} , представляющий удалённую сторону соединения, как последний, успешно согласованный объект данных, с момента завершения согласования и установки соединения объектом {{domxref("RTCPeerConnection")}} с удалённым пиром. </p>
<p>Для изменения значения свойства <code>currentRemoteDescription</code>, вызовите метод {{domxref("RTCPeerConnection.setRemoteDescription()")}}, который запускает серию событий, приводящих к установке нового значения. Подробнее о том, что точно происходит и почему изменение значения не происходит немедленно, смотрите {{SectionOnPage("/en-US/docs/Web/API/WebRTC_API/Connectivity", "Ожидающие и текущие объекты описания")}}.</p>
@@ -19,7 +19,7 @@ translation_of: Web/API/RTCPeerConnection/currentRemoteDescription
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
-<p>Текущий объект описания, представляющий удаленную сторону соединения, если она присутствует. Если ни один объект описания не установлен, значением будет <code>null</code>.</p>
+<p>Текущий объект описания, представляющий удалённую сторону соединения, если она присутствует. Если ни один объект описания не установлен, значением будет <code>null</code>.</p>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html b/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html
index 8bd86fa3e5..4cf9d46d46 100644
--- a/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html
+++ b/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/RTCPeerConnection/icecandidate_event
---
<div>{{WebRTCSidebar}}</div>
-<p>Событие <strong><code>icecandidate</code></strong> отправляется {{domxref("RTCPeerConnection")}} когда {{domxref("RTCIceCandidate")}} был идентифицирован и добавлен к локальному клиенту (local peer) через вызов {{domxref("RTCPeerConnection.setLocalDescription()")}}. Обработчик события должен передать кандидата удаленному клиенту (remote peer) по каналу сигнализации (signaling channel), чтобы удаленный клиент (remote peer) смог добавить его в свой набор удаленных кандидатов (remote candidates).</p>
+<p>Событие <strong><code>icecandidate</code></strong> отправляется {{domxref("RTCPeerConnection")}} когда {{domxref("RTCIceCandidate")}} был идентифицирован и добавлен к локальному клиенту (local peer) через вызов {{domxref("RTCPeerConnection.setLocalDescription()")}}. Обработчик события должен передать кандидата удалённому клиенту (remote peer) по каналу сигнализации (signaling channel), чтобы удалённый клиент (remote peer) смог добавить его в свой набор удалённых кандидатов (remote candidates).</p>
<table class="properties">
<tbody>
@@ -34,7 +34,7 @@ translation_of: Web/API/RTCPeerConnection/icecandidate_event
<h3 id="Делимся_Sharing_новым_кандидатом">Делимся (Sharing) новым кандидатом</h3>
-<p>В основном события <code>icecandidate</code> происходят, чтобы указать, что новый кандидат был построен (gathered). Этого кандидата нужно доставить удаленному клиенту (remote peer) через канал сигнализации (signaling channel), которым управляет ваш код.</p>
+<p>В основном события <code>icecandidate</code> происходят, чтобы указать, что новый кандидат был построен (gathered). Этого кандидата нужно доставить удалённому клиенту (remote peer) через канал сигнализации (signaling channel), которым управляет ваш код.</p>
<pre class="brush: js notranslate">rtcPeerConnection.onicecandidate = (event) =&gt; {
if (event.candidate) {
@@ -45,7 +45,7 @@ translation_of: Web/API/RTCPeerConnection/icecandidate_event
}
</pre>
-<p>Удаленный клиент (peer), получив кандидата, добавит этого кандидата в свой пул кандидатов, используя вызов {{domxref("RTCPeerConnection.addIceCandidate", "addIceCandidate()")}}, передавая в {{domxref("RTCPeerConnectionIceEvent.candidate", "candidate")}} строку, которую вы передали с помощью сервера сигнализации (signaling server).</p>
+<p>Удалённый клиент (peer), получив кандидата, добавит этого кандидата в свой пул кандидатов, используя вызов {{domxref("RTCPeerConnection.addIceCandidate", "addIceCandidate()")}}, передавая в {{domxref("RTCPeerConnectionIceEvent.candidate", "candidate")}} строку, которую вы передали с помощью сервера сигнализации (signaling server).</p>
<h3 id="Indicating_the_end_of_a_generation_of_candidates">Indicating the end of a generation of candidates</h3>
diff --git a/files/ru/web/api/rtcpeerconnection/index.html b/files/ru/web/api/rtcpeerconnection/index.html
index 5103da41dc..676d536252 100644
--- a/files/ru/web/api/rtcpeerconnection/index.html
+++ b/files/ru/web/api/rtcpeerconnection/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/RTCPeerConnection
---
<p>{{APIRef('WebRTC')}}</p>
-<p><span class="seoSummary">Интерфейс <strong><code>RTCPeerConnection</code></strong> представляет соединение WebRTC между локальным пиром (участником соединения) на локальном компьютере и удаленным пиром на удаленном компьютере. Он предоставляет методы для соединения с удаленным участником соединения, обслуживания, мониторинга и закрытия соединения.</span></p>
+<p><span class="seoSummary">Интерфейс <strong><code>RTCPeerConnection</code></strong> представляет соединение WebRTC между локальным пиром (участником соединения) на локальном компьютере и удалённым пиром на удалённом компьютере. Он предоставляет методы для соединения с удалённым участником соединения, обслуживания, мониторинга и закрытия соединения.</span></p>
<p>{{InheritanceDiagram}}</p>
@@ -17,7 +17,7 @@ translation_of: Web/API/RTCPeerConnection
<dl>
<dt>{{domxref("RTCPeerConnection.createDTMFSender()")}} {{obsolete_inline}}</dt>
- <dd>Создает новый объект типа {{domxref("RTCDTMFSender")}}, связанный с определенным объектом {{domxref("MediaStreamTrack")}}, который сможет отправить объект сигнализации {{Glossary("DTMF")}} поверх соединения..</dd>
+ <dd>Создаёт новый объект типа {{domxref("RTCDTMFSender")}}, связанный с определённым объектом {{domxref("MediaStreamTrack")}}, который сможет отправить объект сигнализации {{Glossary("DTMF")}} поверх соединения..</dd>
</dl>
<h2 id="События">События </h2>
@@ -29,10 +29,10 @@ translation_of: Web/API/RTCPeerConnection
<dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда общий статус объекта соединения <code>RTCPeerConnection</code> изменился.<br>
Так же, доступно через свойство установки обработчика события  {{domxref("RTCPeerConnection.onconnectionstatechange", "onconnectionstatechange")}}.</dd>
<dt>{{domxref("RTCPeerConnection.datachannel_event", "datachannel")}}</dt>
- <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда удаленный пир (участник соединения) добавляет объект данных {{domxref("RTCDataChannel")}}  в текущее соединение.<br>
+ <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда удалённый пир (участник соединения) добавляет объект данных {{domxref("RTCDataChannel")}}  в текущее соединение.<br>
Так же, доступно через свойство установки обработчика события {{domxref("RTCPeerConnection.ondatachannel", "ondatachannel")}}.</dd>
<dt>{{domxref("RTCPeerConnection.icecandidate_event", "icecandidate")}}</dt>
- <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда  специальный объект ICE кандидата (<a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate">RTCIceCandidate</a>) сгенерирован <code>RTCPeerConnection</code> и готов для передачи удаленному пиру по каналу сигнализации.Сам сгенерированный объект кандидата передается в параметр вызванного обработчика. <br>
+ <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда  специальный объект ICE кандидата (<a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate">RTCIceCandidate</a>) сгенерирован <code>RTCPeerConnection</code> и готов для передачи удалённому пиру по каналу сигнализации.Сам сгенерированный объект кандидата передаётся в параметр вызванного обработчика. <br>
Так же, доступно через свойство установки обработчика события {{domxref("RTCPeerConnection.onicecandidate", "onicecandidate")}}.</dd>
<dt>{{domxref("RTCPeerConnection.icecandidateerror_event", "icecandidateerror")}}</dt>
<dd>Событие типа ошибки  {{domxref("RTCPeerConnectionIceErrorEvent")}} , возникает на объекте соединения при генерации ICE кандидата (<a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate">RTCIceCandidate</a>), если при этом возникла ошибка. Свойства объекта ошибки, возвращаемого в обработчик,  описывают подробности ошибки.<br>
@@ -41,10 +41,10 @@ translation_of: Web/API/RTCPeerConnection
<dd>Событие объекта <code>RTCPeerConnection</code> возникает при изменении статуса ICE соединения. К примеру, <a href="https://developer.mozilla.org/en-US/docs/Glossary/ICE">ICE</a> соединение разорвано.<br>
Так же, доступно через свойство установки обработчика события{{domxref("RTCPeerConnection.oniceconnectionstatechange", "oniceconnectionstatechange")}} .</dd>
<dt>{{domxref("RTCPeerConnection.icegatheringstatechange_event", "icegatheringstatechange")}}</dt>
- <dd>Событие объекта <code>RTCPeerConnection,</code> возникает, когда статус сборки, представленный классом {{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}, изменяется. Это указывает на то, что :  согласование соединения ICE еще не началось (статус равен значению "<code>new</code>"); согласование соединения ICE началось (статус равен значению "<code>gathering</code>"); согласование ICE  соединения завершено (статус равен значению "<code>complete</code>").<br>
+ <dd>Событие объекта <code>RTCPeerConnection,</code> возникает, когда статус сборки, представленный классом {{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}, изменяется. Это указывает на то, что :  согласование соединения ICE ещё не началось (статус равен значению "<code>new</code>"); согласование соединения ICE началось (статус равен значению "<code>gathering</code>"); согласование ICE  соединения завершено (статус равен значению "<code>complete</code>").<br>
Так же, доступно через свойство установки обработчика {{domxref("RTCPeerConnection.onicegatheringstatechange", "onicegatheringstatechange")}} .</dd>
<dt>{{domxref("RTCPeerConnection.isolationchange_event", "isolationchange")}}</dt>
- <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда свойство {{domxref("MediaStreamTrack.isolated", "isolated")}} на одном из объектов  {{domxref("MediaStreamTrack")}} , связанного с соединением изменяет свое значение. Объект трека является изолированным {{domxref("MediaStreamTrack.isolated", "isolated")}}, если его содержимое не может быть доступно содержащему его документу, по причине невозможности аутентификации, или объект трека прибыл не из источника происхождения страницы.<br>
+ <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда свойство {{domxref("MediaStreamTrack.isolated", "isolated")}} на одном из объектов  {{domxref("MediaStreamTrack")}} , связанного с соединением изменяет своё значение. Объект трека является изолированным {{domxref("MediaStreamTrack.isolated", "isolated")}}, если его содержимое не может быть доступно содержащему его документу, по причине невозможности аутентификации, или объект трека прибыл не из источника происхождения страницы.<br>
Так же, доступно через свойство установки обработчика {{domxref("RTCPeerConnection.onisolationchange", "onisolationchange")}}.</dd>
<dt>{{domxref("RTCPeerConnection.negotiationneeded_event", "negotiationneeded")}}</dt>
<dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда необходимо запустить согласование (пересогласование) ICE соединения; может произойти при первом открытии соединения , или при необходимости принятия изменений условий сети. Получатель должен ответить, создав предложение и отправив его другому партнеру. <br>
@@ -83,7 +83,7 @@ translation_of: Web/API/RTCPeerConnection
<h3 id="Перечисление_RTCBundlePolicy">Перечисление RTCBundlePolicy </h3>
-<p>Перечисление <code>RTCBundlePolicy</code> (политика сборки пакетов) определяет строковые константы, которые используются для запроса определенной политики при сборке  ICE кандидатов, в случае, если удаленный участник соединения (удаленная точка) не совместим со стандартом <a href="https://webrtcstandards.info/sdp-bundle/">SDP BUNDLE standard</a>  для объединения нескольких медиапотоков в один транспортный пакет.</p>
+<p>Перечисление <code>RTCBundlePolicy</code> (политика сборки пакетов) определяет строковые константы, которые используются для запроса определённой политики при сборке  ICE кандидатов, в случае, если удалённый участник соединения (удалённая точка) не совместим со стандартом <a href="https://webrtcstandards.info/sdp-bundle/">SDP BUNDLE standard</a>  для объединения нескольких медиапотоков в один транспортный пакет.</p>
<div class="note">
<p><strong> Примечание :</strong> В технических терминах BUNDLE (пакет) позволяет всем медиапотокам между двумя пирами проходить через один 5 - ти элементный кортеж (тип транспортного протокола передачи сообщений при установки  TCP, UDP, и ICMP соединений, состоящий из пяти элементов анализа данных). То есть, с одного IP-адреса и порта на одном узле на один IP-адрес и порт на другом узле с использованием одного и того же транспортного протокола.</p>
@@ -100,16 +100,16 @@ translation_of: Web/API/RTCPeerConnection
<tr>
<td><code>"balanced"</code></td>
<td>
- <p>Сбалансированный. Агент ICE изначально создает по одному объекту  {{domxref ("RTCDtlsTransport")}} для каждого типа добавляемого контента: аудио, видео и каналов данных. Если  удаленная конечная точка не опознает пакеты, то каждый из этих DTLS транспортов обрабатывает все коммуникации для одного типа данных.</p>
+ <p>Сбалансированный. Агент ICE изначально создаёт по одному объекту  {{domxref ("RTCDtlsTransport")}} для каждого типа добавляемого контента: аудио, видео и каналов данных. Если  удалённая конечная точка не опознает пакеты, то каждый из этих DTLS транспортов обрабатывает все коммуникации для одного типа данных.</p>
</td>
</tr>
<tr>
<td><code>"max-compat"</code></td>
- <td>Максимально совместимый. Агент ICE изначально создает один объект {{domxref ("RTCDtlsTransport")}} для каждой медиа-дорожки и отдельный для каналов данных. Если удаленная точка не поддерживает опознавание пакета, все согласовывается на этих отдельных DTLS транспортах</td>
+ <td>Максимально совместимый. Агент ICE изначально создаёт один объект {{domxref ("RTCDtlsTransport")}} для каждой медиа-дорожки и отдельный для каналов данных. Если удалённая точка не поддерживает опознавание пакета, все согласовывается на этих отдельных DTLS транспортах</td>
</tr>
<tr>
<td><code>"max-bundle"</code></td>
- <td>Максимальный пакет. Агент ICE изначально создает только один объект {{domxref ("RTCDtlsTransport")}} для переноса всех данных RTCPeerConnection. Если удаленная  точка не поддерживает опознавание пакета, то согласовывается только одна дорожка, а остальные игнорируются.</td>
+ <td>Максимальный пакет. Агент ICE изначально создаёт только один объект {{domxref ("RTCDtlsTransport")}} для переноса всех данных RTCPeerConnection. Если удалённая  точка не поддерживает опознавание пакета, то согласовывается только одна дорожка, а остальные игнорируются.</td>
</tr>
</tbody>
</table>
@@ -128,15 +128,15 @@ translation_of: Web/API/RTCPeerConnection
<tbody>
<tr>
<td><code>"new"</code></td>
- <td>ICE агент собирает адреса или ожидает получения удаленных кандидатов от вызова метода {{domxref("RTCPeerConnection.addIceCandidate()")}}. Или все сразу.</td>
+ <td>ICE агент собирает адреса или ожидает получения удалённых кандидатов от вызова метода {{domxref("RTCPeerConnection.addIceCandidate()")}}. Или все сразу.</td>
</tr>
<tr>
<td><code>"checking"</code></td>
- <td>ICE агент получил один или несколько удаленных кандидатов и проверяет парность локального и удаленного кандидатов относительно друг друга, пытаясь обнаружить совместимости. Но еще не обнаружил пару, соответствующую устанавливаемому удаленному соединению.Не исключено, что сборка кандидатов продолжиться.</td>
+ <td>ICE агент получил один или несколько удалённых кандидатов и проверяет парность локального и удалённого кандидатов относительно друг друга, пытаясь обнаружить совместимости. Но ещё не обнаружил пару, соответствующую устанавливаемому удалённому соединению.Не исключено, что сборка кандидатов продолжиться.</td>
</tr>
<tr>
<td><code>"connected"</code></td>
- <td>Совместимая парность локального и удаленного кандидатов найдена для всех компонентов соединения, и соединение было установлено. Не исключено продолжение сборки и проверки кандидатов в процессе соединения, для наилучший совместимости.</td>
+ <td>Совместимая парность локального и удалённого кандидатов найдена для всех компонентов соединения, и соединение было установлено. Не исключено продолжение сборки и проверки кандидатов в процессе соединения, для наилучший совместимости.</td>
</tr>
<tr>
<td><code>"completed"</code></td>
@@ -144,11 +144,11 @@ translation_of: Web/API/RTCPeerConnection
</tr>
<tr>
<td><code>"failed"</code></td>
- <td>Агент ICE проверил все пары кандидатов между собой и не нашел совместимых сопоставлений для всех компонентов соединения. Или не нашел совместимых соединений для некоторых компонентов. </td>
+ <td>Агент ICE проверил все пары кандидатов между собой и не нашёл совместимых сопоставлений для всех компонентов соединения. Или не нашёл совместимых соединений для некоторых компонентов. </td>
</tr>
<tr>
<td><code>"disconnected"</code></td>
- <td>Проверяет, что компоненты все еще подключены, хотя бы для одного объекта {{domxref("RTCPeerConnection")}}.  Это менее строгий тест, чем <code>"failed"</code>, и он может периодически запускаться и разрешаться спонтанно в менее надежных сетях, или во время временного отключения. Когда проблема исчезнет, ​​соединение может вернуться в состояние <code>"connected".</code> </td>
+ <td>Проверяет, что компоненты все ещё подключены, хотя бы для одного объекта {{domxref("RTCPeerConnection")}}.  Это менее строгий тест, чем <code>"failed"</code>, и он может периодически запускаться и разрешаться спонтанно в менее надёжных сетях, или во время временного отключения. Когда проблема исчезнет, ​​соединение может вернуться в состояние <code>"connected".</code> </td>
</tr>
<tr>
<td><code>"closed"</code></td>
@@ -171,7 +171,7 @@ translation_of: Web/API/RTCPeerConnection
<tbody>
<tr>
<td><code>"new"</code></td>
- <td>Соединение только что создано, и еще не имело сетевой активности.</td>
+ <td>Соединение только что создано, и ещё не имело сетевой активности.</td>
</tr>
<tr>
<td><code>"gathering"</code></td>
@@ -179,7 +179,7 @@ translation_of: Web/API/RTCPeerConnection
</tr>
<tr>
<td><code>"complete"</code></td>
- <td>Агент ICE завершил сборку кандидатов. Если произойдет, что-то (например, добавление нового ICE сервера), для чего потребуется новая сборка кандидатов, статус переключиться в значение  "<code>gathering</code>" и начнется пересборка кандидатов.</td>
+ <td>Агент ICE завершил сборку кандидатов. Если произойдёт, что-то (например, добавление нового ICE сервера), для чего потребуется новая сборка кандидатов, статус переключиться в значение  "<code>gathering</code>" и начнётся пересборка кандидатов.</td>
</tr>
</tbody>
</table>
@@ -202,7 +202,7 @@ translation_of: Web/API/RTCPeerConnection
</tr>
<tr>
<td><code>"public" </code>{{obsolete_inline}}</td>
- <td>Будут рассматриваться  ICE кандидаты, только имеющие публичные IP адреса. <em>Удален в спецификации от 13 мая 2016 (working draft).</em></td>
+ <td>Будут рассматриваться  ICE кандидаты, только имеющие публичные IP адреса. <em>Удалён в спецификации от 13 мая 2016 (working draft).</em></td>
</tr>
<tr>
<td><code>"relay"</code></td>
@@ -233,11 +233,11 @@ translation_of: Web/API/RTCPeerConnection
</tr>
<tr>
<td><code>"connected"</code></td>
- <td>Соединен. Каждый объект ICE передачи, использующийся соединением либо используется  (имеет статус <code>"connected"</code> или <code>"completed"</code>) , либо закрыт  (имеет статус <code>"closed"</code>); кроме того, по крайней мере один объект передачи имеет статус либо  <code>"connected"</code> , либо <code>"completed"</code>.</td>
+ <td>Соединён. Каждый объект ICE передачи, использующийся соединением либо используется  (имеет статус <code>"connected"</code> или <code>"completed"</code>) , либо закрыт  (имеет статус <code>"closed"</code>); кроме того, по крайней мере один объект передачи имеет статус либо  <code>"connected"</code> , либо <code>"completed"</code>.</td>
</tr>
<tr>
<td><code>"disconnected"</code></td>
- <td>Разъединен. По меньшей мере один из объектов ICE передачи в соединении имеет статус <code>"disconnected"</code>  и ни один из объекто передачи не находиться в статусе : <code>"failed"</code>, <code>"connecting"</code>, или  <code>"checking"</code>.</td>
+ <td>Разъединён. По меньшей мере один из объектов ICE передачи в соединении имеет статус <code>"disconnected"</code>  и ни один из объекто передачи не находиться в статусе : <code>"failed"</code>, <code>"connecting"</code>, или  <code>"checking"</code>.</td>
</tr>
<tr>
<td><code>"failed"</code></td>
@@ -301,15 +301,15 @@ translation_of: Web/API/RTCPeerConnection
</tr>
<tr>
<td><code>"have-remote-offer"</code></td>
- <td>Имеет удаленное предложение. Удаленный пир создал предложение, использовал сервер сигнализации для передачи этого предложения локальному пользователю, которое было установлено им в параметр, через вызов метода {{domxref("RTCPeerConnection.setRemoteDescription()")}}.</td>
+ <td>Имеет удалённое предложение. Удалённый пир создал предложение, использовал сервер сигнализации для передачи этого предложения локальному пользователю, которое было установлено им в параметр, через вызов метода {{domxref("RTCPeerConnection.setRemoteDescription()")}}.</td>
</tr>
<tr>
<td><code>"have-local-pranswer"</code></td>
- <td>Имеет локальный предварительный ответ. Предложение удаленного пира было применено, и ответ был создан (обычно, через вызов метода {{domxref("RTCPeerConnection.createAnswer()")}}) и использовано в параметре метода установки локального дескриптора {{domxref("RTCPeerConnection.setLocalDescription()")}}. Этот предварительный ответ описывает поддерживаемые медиа форматы и тому подобное. Но он не имееет включенных в него  полного набора ICE кандидатов. Позже, дополнительные кандидаты будут доставлены отдельно.</td>
+ <td>Имеет локальный предварительный ответ. Предложение удалённого пира было применено, и ответ был создан (обычно, через вызов метода {{domxref("RTCPeerConnection.createAnswer()")}}) и использовано в параметре метода установки локального дескриптора {{domxref("RTCPeerConnection.setLocalDescription()")}}. Этот предварительный ответ описывает поддерживаемые медиа форматы и тому подобное. Но он не имееет включённых в него  полного набора ICE кандидатов. Позже, дополнительные кандидаты будут доставлены отдельно.</td>
</tr>
<tr>
<td><code>"have-remote-pranswer"</code></td>
- <td>Имеет предварительный удаленный ответ. Предварительный удаленный ответ был получен и успешно применен в ответ на предложение, отправленное ранее и установленное методом <code>setLocalDescription()</code>.</td>
+ <td>Имеет предварительный удалённый ответ. Предварительный удалённый ответ был получен и успешно применён в ответ на предложение, отправленное ранее и установленное методом <code>setLocalDescription()</code>.</td>
</tr>
<tr>
<td><code>"closed"</code> {{obsolete_inline}}</td>
diff --git a/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html b/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html
index 072496379e..25eaa93c7f 100644
--- a/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html
+++ b/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/RTCPeerConnection/RTCPeerConnection
---
<div>{{APIRef("WebRTC")}}</div>
-<p><span class="seoSummary">Конструктор <strong><code>RTCPeerConnection()</code></strong> возвращает  новый экземпляр объекта {{domxref("RTCPeerConnection")}}, который представляет соединение между локальным устройством и удаленным пиром (участником соединения)</span></p>
+<p><span class="seoSummary">Конструктор <strong><code>RTCPeerConnection()</code></strong> возвращает  новый экземпляр объекта {{domxref("RTCPeerConnection")}}, который представляет соединение между локальным устройством и удалённым пиром (участником соединения)</span></p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/screen_capture_api/using_screen_capture/index.html b/files/ru/web/api/screen_capture_api/using_screen_capture/index.html
index d9d89652c2..7677339be1 100644
--- a/files/ru/web/api/screen_capture_api/using_screen_capture/index.html
+++ b/files/ru/web/api/screen_capture_api/using_screen_capture/index.html
@@ -8,7 +8,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture
<p><span class="seoSummary">В этой статье изучается использование программного интерфейса  Screen Capture и его метода {{domxref("MediaDevices.getDisplayMedia", "getDisplayMedia()")}} для захвата потока экрана (всего или его части), его записи или передачи через сессию <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> .</span></p>
<div class="blockIndicator note">
-<p><strong>Примечание :</strong> Полезно отметить, что последние версии библиотеки <a href="https://github.com/webrtcHacks/adapter">WebRTC adapter.js</a>  включают реализацию метода <code>getDisplayMedia()</code> для обмена изображениями с экрана на браузерах, которые его поддерживают, но еще не реализуют текущий стандартный интерфейс, который реализован в последних версиях  Chrome, Edge, и Firefox.</p>
+<p><strong>Примечание :</strong> Полезно отметить, что последние версии библиотеки <a href="https://github.com/webrtcHacks/adapter">WebRTC adapter.js</a>  включают реализацию метода <code>getDisplayMedia()</code> для обмена изображениями с экрана на браузерах, которые его поддерживают, но ещё не реализуют текущий стандартный интерфейс, который реализован в последних версиях  Chrome, Edge, и Firefox.</p>
</div>
<h2 id="Захват_содержимого_экрана">Захват содержимого экрана</h2>
@@ -41,7 +41,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture
.catch(err =&gt; { console.error("Error:" + err); return null; });
}</pre>
-<p>В любом случае {{Glossary("user agent")}} ответить отображением интерфейса диалога, запрашивающий у пользователя размер области захвата экрана. Обе реализации функции <code>startCapture()</code> возвращают объект типа  {{domxref("MediaStream")}} , содержащий захваченное с экрана изображение (съемку ?).</p>
+<p>В любом случае {{Glossary("user agent")}} ответить отображением интерфейса диалога, запрашивающий у пользователя размер области захвата экрана. Обе реализации функции <code>startCapture()</code> возвращают объект типа  {{domxref("MediaStream")}} , содержащий захваченное с экрана изображение (съёмку ?).</p>
<p>Смотрим {{anch("Options and constraints")}}, ниже, подробнее о том, как указать желаемый тип поверхности, а также о других способах настройки результирующего потока.</p>
@@ -55,13 +55,13 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture
<h3 id="Видимые_или_логические_поверхности_отображения">Видимые или логические  поверхности отображения</h3>
-<p>Для целей интерфейса Screen Capture API, <strong>поверхность отображения </strong>- это любой объект контента, который может быть выбран API для целей совместного (общего) использования.Поверхности общего доступа включают в себя содержимое вкладки браузера, полное окно, все приложения окна, объединенные в одну поверхность, и монитор (или группу мониторов, объединенных в одну поверхность).</p>
+<p>Для целей интерфейса Screen Capture API, <strong>поверхность отображения </strong>- это любой объект контента, который может быть выбран API для целей совместного (общего) использования.Поверхности общего доступа включают в себя содержимое вкладки браузера, полное окно, все приложения окна, объединённые в одну поверхность, и монитор (или группу мониторов, объединённых в одну поверхность).</p>
<p>Есть два типа поверхности дисплея. <strong>Видимая поверхность отображения </strong>- это поверхность, которая полностью видна на экране, например, переднее окно или вкладка или весь экран.</p>
<p><strong>Логическая поверхность отображения</strong> - это поверхность, которая частично или полностью скрыта, либо в некоторой степени перекрывается  другим объектом, либо полностью скрытая или находиться вне экрана. Эти поверхности обрабатываются по другому. Как правило, браузер предоставляет изображение, которое каким-то образом скрывает скрытую часть поверхности логического дисплея, например размытие или замена цветом или рисунком. Это сделано из соображений безопасности, поскольку контент, который не может быть просмотрен пользователем, может содержать данные, которыми они не хотят делиться.</p>
-<p>Браузер может разрешить захват всего содержимого скрытого окна после получения разрешения от пользователя на это. В этом случае браузер может содержать затушеванный контент, либо путем получения текущего содержимого скрытой части окна, либо путем предоставления самого последнего видимого содержимого, если текущее содержимое недоступно.</p>
+<p>Браузер может разрешить захват всего содержимого скрытого окна после получения разрешения от пользователя на это. В этом случае браузер может содержать затушёванный контент, либо путём получения текущего содержимого скрытой части окна, либо путём предоставления самого последнего видимого содержимого, если текущее содержимое недоступно.</p>
<h3 id="Свойства_и_ограничения">Свойства и ограничения</h3>
@@ -96,7 +96,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture
<p>К примеру, если определить ограничение  {{domxref("MediaTrackConstraints.width", "width")}} для видео, оно применится как масштабирование видео, после того, как пользователь выберет область, и не устанавливает ограничение на размер самого источника.</p>
<div class="blockIndicator note">
-<p><strong>Примечание :</strong> Ограничения никогда не вызывают изменений в списке источников, доступных для захвата API Sharing Screen. Это гарантирует, что веб-приложения не могут заставить пользователя делиться определенным контентом, ограничивая исходный список, пока не останется только один элемент.</p>
+<p><strong>Примечание :</strong> Ограничения никогда не вызывают изменений в списке источников, доступных для захвата API Sharing Screen. Это гарантирует, что веб-приложения не могут заставить пользователя делиться определённым контентом, ограничивая исходный список, пока не останется только один элемент.</p>
</div>
<p>В процессе захвата экрана машина, которая обменивается содержимым экрана, будет отображать какую-то форму индикатора, чтобы пользователь знал, что обмен находиться в процессе.</p>
@@ -111,7 +111,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture
<p>До запуска скрипта, который будет запрашивать возможность обмена аудио, проверьте реализацию  {{SectionOnPage("/en-US/docs/Web/API/MediaDevices/getDisplayMedia", "Browser compatibility", "code")}} , для понимания браузерной совместимости с функциональностью захвата аудио в поток захвата экрана.</p>
-<p>Чтобы запросить доступ к экрану с включенным звуком, параметры ниже передаются в метод <code>getDisplayMedia()</code>:</p>
+<p>Чтобы запросить доступ к экрану с включённым звуком, параметры ниже передаются в метод <code>getDisplayMedia()</code>:</p>
<pre class="brush: js">const gdmOptions = {
video: true,
@@ -119,7 +119,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture
}
</pre>
-<p>Это дает пользователю полную свободу выбора того, что он хочет, в пределах того, что поддерживает пользовательский агент. Это можно уточнить, указав дополнительную информацию для каждого свойства <code>audio</code> и <code>video</code>:</p>
+<p>Это даёт пользователю полную свободу выбора того, что он хочет, в пределах того, что поддерживает пользовательский агент. Это можно уточнить, указав дополнительную информацию для каждого свойства <code>audio</code> и <code>video</code>:</p>
<pre class="brush: js">const gdmOptions = {
video: {
diff --git a/files/ru/web/api/selection/tostring/index.html b/files/ru/web/api/selection/tostring/index.html
index 63899ce9d7..0e1dede357 100644
--- a/files/ru/web/api/selection/tostring/index.html
+++ b/files/ru/web/api/selection/tostring/index.html
@@ -30,7 +30,7 @@ translation_of: Web/API/Selection/toString
<p>Этот метод возвращает выделенный текст.</p>
-<p>В <a href="en/JavaScript">JavaScript</a>, этот метод вызывается автоматически, когда функция, которой он передается, требует строку:</p>
+<p>В <a href="en/JavaScript">JavaScript</a>, этот метод вызывается автоматически, когда функция, которой он передаётся, требует строку:</p>
<pre class="brush: js">alert(window.getSelection()) // What is called
alert(window.getSelection().toString()) // What is actually being effectively called.
diff --git a/files/ru/web/api/server-sent_events/using_server-sent_events/index.html b/files/ru/web/api/server-sent_events/using_server-sent_events/index.html
index 0bc2834743..bee580418a 100644
--- a/files/ru/web/api/server-sent_events/using_server-sent_events/index.html
+++ b/files/ru/web/api/server-sent_events/using_server-sent_events/index.html
@@ -11,11 +11,11 @@ translation_of: Web/API/Server-sent_events/Using_server-sent_events
<h2 id="Получение_событий_от_сервера">Получение событий от сервера</h2>
-<p>Server-Sent Event API содержится внутри интерфейса {{domxref("EventSource")}}. Чтобы открыть соединение с сервером для начала записи событий, которые он присылает, необходимо создать новый объект <code>EventSource</code>, который будет указывать на URI скрипта, который создает события. Например:</p>
+<p>Server-Sent Event API содержится внутри интерфейса {{domxref("EventSource")}}. Чтобы открыть соединение с сервером для начала записи событий, которые он присылает, необходимо создать новый объект <code>EventSource</code>, который будет указывать на URI скрипта, который создаёт события. Например:</p>
<pre class="brush: js">const evtSource = new EventSource("ssedemo.php");</pre>
-<p>Если файл с генератором событий размещен на другом домене, то должен быть создан новый объект <code>EventSource</code> в который следует передать помимо URI еще и словарь опций. Например, если предположить, что клиентский скрипт находится на <code>example.com</code>:</p>
+<p>Если файл с генератором событий размещён на другом домене, то должен быть создан новый объект <code>EventSource</code> в который следует передать помимо URI ещё и словарь опций. Например, если предположить, что клиентский скрипт находится на <code>example.com</code>:</p>
<pre class="brush: js"><code>const evtSource = new EventSource("//api.example.com/ssedemo.php", { withCredentials: true } ); </code>
</pre>
@@ -49,7 +49,7 @@ translation_of: Web/API/Server-sent_events/Using_server-sent_events
<p>Код на стороне сервера, который отправляет события, должен отвечать, используя MIME-тип <code>text/event-stream</code>. Каждое уведомление отправляется в виде блока текста, оканчивающегося парой новых строк (<code>\n</code>) . Подробнее о формате потока событий см.  {{ anch("Event stream format") }}.</p>
-<p>{{Glossary("PHP")}} код, который мы используем для примера приведен ниже:</p>
+<p>{{Glossary("PHP")}} код, который мы используем для примера приведён ниже:</p>
<pre class="brush: php">date_default_timezone_set("America/New_York");
header('Cache-Control: no-cache');
@@ -79,7 +79,7 @@ while (1) {
}
</pre>
-<p>Приведенный выше код генерирует событие каждую секунду с типом события «ping». Данные каждого события - это объект JSON, содержащий метку времени ISO 8601, соответствующую дате, когда было сгенерировано событие. Через случайные интервалы отправляется простое сообщение (без типа <code>event</code>).</p>
+<p>Приведённый выше код генерирует событие каждую секунду с типом события «ping». Данные каждого события - это объект JSON, содержащий метку времени ISO 8601, соответствующую дате, когда было сгенерировано событие. Через случайные интервалы отправляется простое сообщение (без типа <code>event</code>).</p>
<div class="note">
<p><strong>Примечание</strong>: Вы можете найти полный пример, который использует код, показанный в этой статье на GitHub - см. <a href="https://github.com/mdn/dom-examples/tree/master/server-sent-events">Simple SSE demo using PHP.</a></p>
@@ -106,7 +106,7 @@ while (1) {
<div class="note"><strong>Примечание:</strong> Строка комментария может использоваться, чтобы предотвратить тайм-аут соединений; сервер может периодически отправлять комментарий, чтобы поддерживать соединение.</div>
-<p>Каждое сообщение содержит одну или более строчек текста, которые перечисляют поля этого сообщения. Каждое имеет свое имя, за которым следует двоеточие, после которого идут текстовые данные для значения этого поля. </p>
+<p>Каждое сообщение содержит одну или более строчек текста, которые перечисляют поля этого сообщения. Каждое имеет своё имя, за которым следует двоеточие, после которого идут текстовые данные для значения этого поля. </p>
<h3 id="Поля">Поля</h3>
diff --git a/files/ru/web/api/service_worker_api/index.html b/files/ru/web/api/service_worker_api/index.html
index 7d52ed2334..f7b0bbb1cd 100644
--- a/files/ru/web/api/service_worker_api/index.html
+++ b/files/ru/web/api/service_worker_api/index.html
@@ -21,7 +21,7 @@ translation_of: Web/API/Service_Worker_API
<h2 id="Концепция_и_использование_Service_Worker">Концепция и использование Service Worker</h2>
-<p>Service worker — это событийно-управляемый <a href="https://developer.mozilla.org/en-US/docs/Web/API/Worker">worker</a>, регистрируемый на уровне источника и пути. Он представляет собой JavaScript-файл, который может контролировать веб-страницу/сайт, с которым он ассоциируется, перехватывать и модифицировать запросы навигации и ресурсов, очень гибко кешировать ресурсы, для того чтобы предоставить вам полный контроль над тем, как приложение ведет себя в определенных ситуациях (например, когда сеть не доступна).</p>
+<p>Service worker — это событийно-управляемый <a href="https://developer.mozilla.org/en-US/docs/Web/API/Worker">worker</a>, регистрируемый на уровне источника и пути. Он представляет собой JavaScript-файл, который может контролировать веб-страницу/сайт, с которым он ассоциируется, перехватывать и модифицировать запросы навигации и ресурсов, очень гибко кешировать ресурсы, для того чтобы предоставить вам полный контроль над тем, как приложение ведёт себя в определённых ситуациях (например, когда сеть не доступна).</p>
<p>Service worker запускается в контексте воркеров, поэтому он не имеет доступа к DOM и работает в потоке отдельном от основного потока JavaScript, управляющего вашим приложением, а следовательно — не блокирует его. Он призван быть полностью асинхронным; как следствие, синхронные API, такие как <a href="/en-US/docs/Web/API/XMLHttpRequest">XHR</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage">localStorage</a>, в Service Worker'е использовать нельзя.</p>
@@ -55,7 +55,7 @@ translation_of: Web/API/Service_Worker_API
<p>Установка производится в случае если загружаемый файл признается новым — либо отличным от уже установленного service worker (определяется через побайтовое сравнение), либо первым устанавливаемым service воркером для этой страницы/сайта.</p>
-<p>Если это первый раз, когда service worker оказался доступен, будет проведена установка, а после успешного ее завершения — активация.</p>
+<p>Если это первый раз, когда service worker оказался доступен, будет проведена установка, а после успешного её завершения — активация.</p>
<p>Если service worker уже существует, новая версия устанавливается в фоновом режиме, но не активируется — worker переходит в состояние <em>в ожидании</em>. Новая версия активируется только тогда, когда больше не останется загруженных страниц, использующих старый service worker. Как только это случится, новый service worker активируется (станет <em>активным воркером</em>). Активация может произойти раньше при использовании {{domxref ("ServiceWorkerGlobalScope.skipWaiting()")}}, а существующие страницы могут быть переведены под контроль активного воркера с помощью {{domxref ("Clients.claim()")}}.</p>
@@ -63,7 +63,7 @@ translation_of: Web/API/Service_Worker_API
<p>Есть также событие <code>activate</code>. Момент, когда это событие наступает, является удачным для очистки старого кеша и всего, что ассоциировалось с предыдущей версией вашего service worker'а.</p>
-<p>Service worker может отвечать на запросы, используя событие {{domxref("FetchEvent")}}. Вы можете изменять ответ на эти запросы на свое усмотрение используя метод {{domxref("FetchEvent.respondWith") }}.</p>
+<p>Service worker может отвечать на запросы, используя событие {{domxref("FetchEvent")}}. Вы можете изменять ответ на эти запросы на своё усмотрение используя метод {{domxref("FetchEvent.respondWith") }}.</p>
<div class="note">
<p><strong>Заметка</strong>: Так как выполнение <code>oninstall</code>/<code>onactivate</code> может занять время, спецификация service worker предоставляет метод <code>waitUntil</code>, который возвращает промис, когда вызывается <code>oninstall</code> или <code>onactivate</code>. Функциональные события не отправляются service worker, пока промис не завершится успешно.</p>
@@ -78,7 +78,7 @@ translation_of: Web/API/Service_Worker_API
<ul>
<li>Фоновая синхронизация данных</li>
<li>Ответ на запросы от других источников</li>
- <li>Получение централизованного обновления для данных использующих тяжелые вычисления, таких как геолокация или гироскоп, для того чтобы несколько станиц могли использовать одни и те же данные</li>
+ <li>Получение централизованного обновления для данных использующих тяжёлые вычисления, таких как геолокация или гироскоп, для того чтобы несколько станиц могли использовать одни и те же данные</li>
<li>Компиляция и управление зависимостями на клиентской стороне для CoffeeScript, less, CJS/AMD модулей и т.д. для целей разработки</li>
<li>Подписка на фоновые сервисы</li>
<li>Кастомная шаблонизация, основанная на определённых паттернах URL</li>
@@ -90,7 +90,7 @@ translation_of: Web/API/Service_Worker_API
<ul>
<li><a href="https://github.com/slightlyoff/BackgroundSync">Фоновой синхронизации</a>: запускать service worker даже когда ни одного пользователя нет на сайте, чтобы обновить кеш.</li>
<li><a href="/en-US/docs/Web/API/Push_API">Реакции на пуш-сообщения</a>: запускать service worker для отправки сообщений пользователям, чтобы оповестить их о новом доступном контенте.</li>
- <li>Реакции на определенное время и дату</li>
+ <li>Реакции на определённое время и дату</li>
<li>Введение гео-ограничений</li>
</ul>
@@ -100,7 +100,7 @@ translation_of: Web/API/Service_Worker_API
<dt>{{domxref("Cache") }}</dt>
<dd>Представляет хранилище для объектов {{domxref("Request")}} / {{domxref("Response")}}, которые кешируются, как часть жизненного цикла {{domxref("ServiceWorker")}}.</dd>
<dt>{{domxref("CacheStorage") }}</dt>
- <dd>Представляет хранилище для объектов {{domxref("Cache")}}. Он создает главную директорию для всех именованных кешей, к которым {{domxref("ServiceWorker")}} имеет доступ, и поддерживает отображение строковых имен соответствующего объекта {{domxref("Cache")}}.</dd>
+ <dd>Представляет хранилище для объектов {{domxref("Cache")}}. Он создаёт главную директорию для всех именованных кешей, к которым {{domxref("ServiceWorker")}} имеет доступ, и поддерживает отображение строковых имён соответствующего объекта {{domxref("Cache")}}.</dd>
<dt>{{domxref("Client") }}</dt>
<dd>Представляет область видимости клиента service worker. Это либо документ в контексте браузера, либо {{domxref("SharedWorker")}}, который контролируется активным воркером.</dd>
<dt>{{domxref("Clients") }}</dt>
diff --git a/files/ru/web/api/service_worker_api/using_service_workers/index.html b/files/ru/web/api/service_worker_api/using_service_workers/index.html
index bab45149a6..4fc2235590 100644
--- a/files/ru/web/api/service_worker_api/using_service_workers/index.html
+++ b/files/ru/web/api/service_worker_api/using_service_workers/index.html
@@ -83,7 +83,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers
<p>В первом примере код, идущий за вызовом функции <code>myFunction()</code>, будет ждать завершения вызова и возврата значения. Во втором примере <code>myFunction()</code> возвращает промис для <code>value</code>, в этом случае, последующий код сможет выполняться, не дожидаясь завершения основной работы функции. Когда промис разрешится, код, переданный методу <code>then</code>, будет выполнен асинхронно.</p>
-<p>А вот вам реальный пример: что, если мы хотим загружать изображения динамически, к тому же мы желаем удостовериться, что изображения загрузились до того, как они будут показаны? То, что мы хотим сделать, является стандартной задачей, но она все же может доставить головной боли. Мы можем использовать <code>.onload</code>, чтобы показать изображение только после загрузки, но что делать с событиями, которые могут произойти до того, как мы начнем их слушать? Мы могли бы использовать <code>.complete</code>, но оно все еще ненадежно, да и что делать с повторяющимися изображениями? И наконец все это работает синхронно, блокируя главный поток.</p>
+<p>А вот вам реальный пример: что, если мы хотим загружать изображения динамически, к тому же мы желаем удостовериться, что изображения загрузились до того, как они будут показаны? То, что мы хотим сделать, является стандартной задачей, но она все же может доставить головной боли. Мы можем использовать <code>.onload</code>, чтобы показать изображение только после загрузки, но что делать с событиями, которые могут произойти до того, как мы начнём их слушать? Мы могли бы использовать <code>.complete</code>, но оно все ещё ненадёжно, да и что делать с повторяющимися изображениями? И наконец все это работает синхронно, блокируя главный поток.</p>
<p>Вместо этого мы можем написать собственный промис для работы с подобными случаями. (Вы можете найти исходный код в нашем примере <a href="https://github.com/mdn/promises-test">Promises test</a> или взглянуть на <a href="https://mdn.github.io/promises-test/">живое демо</a>.)</p>
@@ -111,9 +111,9 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers
});
}</pre>
-<p>Мы возвращаем новый промис, созданный конструктором <code>Promise()</code>, который в качестве аргумента принимает функцию с параметрами <code>resolve</code> и <code>reject</code>. Где-то внутри функции мы должны определить случаи, при которых промис должен быть разрешен или отклонен, — в нашем случае, в зависимости от того, вернулся ли статус 200 ОК или нет, будут вызваны <code>resolve</code> в случае успеха или <code>reject</code> при неудаче. Последующее содержимое этой функции — вполне стандартное XHR-наполнение, поэтому на данный момент не стоит о нем волноваться.</p>
+<p>Мы возвращаем новый промис, созданный конструктором <code>Promise()</code>, который в качестве аргумента принимает функцию с параметрами <code>resolve</code> и <code>reject</code>. Где-то внутри функции мы должны определить случаи, при которых промис должен быть разрешён или отклонён, — в нашем случае, в зависимости от того, вернулся ли статус 200 ОК или нет, будут вызваны <code>resolve</code> в случае успеха или <code>reject</code> при неудаче. Последующее содержимое этой функции — вполне стандартное XHR-наполнение, поэтому на данный момент не стоит о нем волноваться.</p>
-<p>Вызывая функцию <code>imgLoad()</code>, мы ожидаемо передаем в качестве параметра url изображения, которое хотим загрузить, но далее код немного отличается:</p>
+<p>Вызывая функцию <code>imgLoad()</code>, мы ожидаемо передаём в качестве параметра url изображения, которое хотим загрузить, но далее код немного отличается:</p>
<pre class="brush: js notranslate">let body = document.querySelector('body');
let myImage = new Image();
@@ -126,7 +126,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
console.log(Error);
});</pre>
-<p>После вызова функции мы "цепляем" к ней вызов промис-метода <code>then()</code>, которому в качестве параметров передаем две функции - первая будет вызвана в случае выполнения промиса, созданного вызовом функции <code>imgLoad()</code>, вторая функция будет вызвана в случае отклонения этого промиса. В случае выполнения мы показываем изображение в элементе <code>myImage</code>, который прикрепляем к body (аргументом является <code>request.response</code>, помещенный в промис-методе <code>resolve</code>); в случае отклонения промиса в консоли будет отображено сообщение об ошибке.</p>
+<p>После вызова функции мы "цепляем" к ней вызов промис-метода <code>then()</code>, которому в качестве параметров передаём две функции - первая будет вызвана в случае выполнения промиса, созданного вызовом функции <code>imgLoad()</code>, вторая функция будет вызвана в случае отклонения этого промиса. В случае выполнения мы показываем изображение в элементе <code>myImage</code>, который прикрепляем к body (аргументом является <code>request.response</code>, помещённый в промис-методе <code>resolve</code>); в случае отклонения промиса в консоли будет отображено сообщение об ошибке.</p>
<p>Все это происходит асинхронно.</p>
@@ -141,14 +141,14 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<h2 id="Демонстрация_Service_Workers">Демонстрация Service Workers</h2>
-<p>Чтобы продемонстрировать только базовые моменты регистрации и установки сервис-воркеров, мы создали простое демо-приложение, названое <a href="https://github.com/mdn/sw-test">sw-test</a>. Это простая галерея изображений "Star wars Lego". Оно использует промис-функции, чтобы прочитать из JSON-объекта и загрузить, используя технологию Ajax, изображения, находящиеся далее нижнего края страницы, до того как они будут показаны. В приложении также еще регистрируется, устанавливается и активируется сервис-воркер, и, в случае если браузер поддерживает спецификацию Service Worker, запрашиваемые ресурсы будут закешированы, и приложение будет работать в offline-режиме!</p>
+<p>Чтобы продемонстрировать только базовые моменты регистрации и установки сервис-воркеров, мы создали простое демо-приложение, названое <a href="https://github.com/mdn/sw-test">sw-test</a>. Это простая галерея изображений "Star wars Lego". Оно использует промис-функции, чтобы прочитать из JSON-объекта и загрузить, используя технологию Ajax, изображения, находящиеся далее нижнего края страницы, до того как они будут показаны. В приложении также ещё регистрируется, устанавливается и активируется сервис-воркер, и, в случае если браузер поддерживает спецификацию Service Worker, запрашиваемые ресурсы будут закешированы, и приложение будет работать в offline-режиме!</p>
<p><img alt="" src="https://mdn.mozillademos.org/files/8243/demo-screenshot.png" style="display: block; height: 410px; margin: 0px auto; width: 480px;"><br>
<br>
Вы можете посмотреть <a href="https://github.com/mdn/sw-test/">исходный код на GitHub</a>, а также <a href="https://mdn.github.io/sw-test/">этот живой пример</a>. Единственное, что мы тут рассмотрим, это промис (смотрите <a href="https://github.com/mdn/sw-test/blob/gh-pages/app.js#L22-L47">app.js строки 22-47</a>), модифицированная версия того, о котором вы читали выше в разделе <a href="https://github.com/mdn/promises-test">Тестовая демонстрация промисов</a>. Разница в следующем:</p>
<ol>
- <li>Ранее мы передавали параметром лишь URL изображения, которое мы хотели загрузить. Теперь же, мы передаем JSON-фрагмент, содержащий все данные для изображения (посмотрите, как это выглядит в <a href="https://github.com/mdn/sw-test/blob/gh-pages/image-list.js">image-list.js</a>). Это сделано потому, что все данные для выполнения каждого промиса должны быть переданы ему, так как он выполняется асинхронно. Если же вы передали лишь URL, а чуть позже попытались получить доступ к другим атрибутам в JSON-фрагменте внутри цикла <code>for()</code>, это бы не сработало, так как этот промис не был бы выполнен во время текущей итерации цикла (это синхронный процесс).</li>
+ <li>Ранее мы передавали параметром лишь URL изображения, которое мы хотели загрузить. Теперь же, мы передаём JSON-фрагмент, содержащий все данные для изображения (посмотрите, как это выглядит в <a href="https://github.com/mdn/sw-test/blob/gh-pages/image-list.js">image-list.js</a>). Это сделано потому, что все данные для выполнения каждого промиса должны быть переданы ему, так как он выполняется асинхронно. Если же вы передали лишь URL, а чуть позже попытались получить доступ к другим атрибутам в JSON-фрагменте внутри цикла <code>for()</code>, это бы не сработало, так как этот промис не был бы выполнен во время текущей итерации цикла (это синхронный процесс).</li>
<li>Теперь мы выполняем промис с параметром-массивом, так как дальше мы хотим сделать загруженные данные изображения доступными для разрешающей функции, одновременно с именем файла, данными авторства и замещающим текстом (см. <a href="https://github.com/mdn/sw-test/blob/gh-pages/app.js#L31-L34">app.js строки 31-34</a>). Промисы будут выполняться со всего одним аргументом, поэтому, если вы хотите выполнить их с несколькими параметрами, вы должны использовать массив/объект.</li>
<li>Затем, чтобы получить доступ к выполненным значениям промисов, мы обращаемся к ним так, как было задумано (смотрите <a href="https://github.com/mdn/sw-test/blob/gh-pages/app.js#L60-L64">app.js строки 60-64</a>). По началу это может выглядеть немного странно, но именно так и работают промисы.</li>
</ol>
@@ -182,7 +182,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<p>Предыдущий код регистрирует сервис-воркера, который работает в worker-контексте, и следовательно, не имеет доступа к DOM. Затем вы запускаете код в сервис-воркере, вне ваших страниц, чтобы контролировать их загрузку.</p>
-<p>Один сервис-воркер может контролировать несколько страниц. Каждый раз, когда загружается страница, находящаяся в пределах области видимости, сервис-воркер будет установлен на ней и начнет работу. Поэтому будьте осторожны с применением глобальных переменных в скриптах сервис-воркеров, потому как у каждой страницы нет своего уникального экземпляра сервис-воркера.</p>
+<p>Один сервис-воркер может контролировать несколько страниц. Каждый раз, когда загружается страница, находящаяся в пределах области видимости, сервис-воркер будет установлен на ней и начнёт работу. Поэтому будьте осторожны с применением глобальных переменных в скриптах сервис-воркеров, потому как у каждой страницы нет своего уникального экземпляра сервис-воркера.</p>
<div class="note">
<p><strong>На заметку</strong>: Сервис-воркеры функционально похожи на прокси-серверы, они позволяют модифицировать запросы и ответы, замещая записями из собственного кеша, и многое другое.</p>
@@ -192,7 +192,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<p><strong>На заметку</strong>: Есть одна очень хорошая особенность при работе с сервис-воркерами. В случае, если вы используете функционал проверки поддержки Service Worker, то приложение в браузерах, не имеющих поддержки, продолжат нормально работать с ожидаемым поведением. Кроме того, если браузер поддерживает только AppCache, то будет использована эта технология. В случае, если браузер поддерживает и AppCache и Service Worker, то будет использована Service Worker.</p>
</div>
-<h4 id="Почему_мой_сервис-воркер_не_прошел_регистрацию">Почему мой сервис-воркер не прошел регистрацию?</h4>
+<h4 id="Почему_мой_сервис-воркер_не_прошёл_регистрацию">Почему мой сервис-воркер не прошёл регистрацию?</h4>
<p>Это может произойти по следующим причинам:</p>
@@ -222,7 +222,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<p><strong>На заметку</strong>: Cache API поддерживается не всеми браузерами (смотрите раздел {{anch("Browser support")}} чтобы получить больше информации). Если вы хотите сейчас использовать эту технологию, то можете рассмотреть возможность использования полифила, который доступен в <a href="https://github.com/Polymer/topeka/blob/master/sw.js">Google's Topeka demo</a>, или можете хранить ресурсы в <a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a>.</p>
</div>
-<p>Давайте начнем этот раздел посмотрев на фрагмент кода ниже — это <a href="https://github.com/mdn/sw-test/blob/gh-pages/sw.js#L1-L17">первый блок кода, который вы увидите в нашем сервис-воркере</a>:</p>
+<p>Давайте начнём этот раздел посмотрев на фрагмент кода ниже — это <a href="https://github.com/mdn/sw-test/blob/gh-pages/sw.js#L1-L17">первый блок кода, который вы увидите в нашем сервис-воркере</a>:</p>
<pre class="brush: js notranslate">self.addEventListener('install', (event) =&gt; {
event.waitUntil(
@@ -246,12 +246,12 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<ol>
<li>Здесь мы добавляем обработчик события <code>install</code> к сервис-воркеру (отныне <code>self</code>), и затем вызываем метод {{domxref("ExtendableEvent.waitUntil()") }} объекта события. Такая конструкция гарантирует, что сервис-воркер не будет установлен, пока код, переданный внутри <code>waitUntil()</code>, не завершится с успехом.</li>
<li><span style="line-height: 1.5;">Внутри <code>waitUntil()</code> мы используем метод </span><a href="/en-US/docs/Web/API/CacheStorage/open">caches.open()</a>, чтобы создать новый кеш, который назовём <code>v1</code>, это будет первая версия кеша ресурсов. Этот метод возвращает промис для созданного кеша; когда он выполнится, у объекта созданного кеша мы вызовем метод <code>addAll()</code>, который в качестве параметра ожидает получить массив origin-относительных URL всех ресурсов, которые мы хотим хранить в кеше.</li>
- <li>Если промис будет отклонен, то установка будет завершена неудачно, и воркер ничего не сделает. Это хорошо, потому как вы можете исправить свой код и затем попробовать провести регистрацию в следующий раз.</li>
+ <li>Если промис будет отклонён, то установка будет завершена неудачно, и воркер ничего не сделает. Это хорошо, потому как вы можете исправить свой код и затем попробовать провести регистрацию в следующий раз.</li>
<li>После успешной установки сервис-воркер активируется. Этот момент не очень важен при первоначальной установке/активации сервис-воркера, в то же время он имеет большое значение, когда происходит обновление воркера (смотрите раздел {{anch("Обновление вашего сервис-воркера")}}, находящийся ниже).</li>
</ol>
<div class="note">
-<p><span style="font-size: 14px; line-height: 21px;"><strong>На заметку</strong></span>: <a href="/en-US/docs/Web/Guide/API/DOM/Storage">localStorage</a> работает схожим образом, но в синхронном режиме, поэтому запрещен в сервис-воркерах.</p>
+<p><span style="font-size: 14px; line-height: 21px;"><strong>На заметку</strong></span>: <a href="/en-US/docs/Web/Guide/API/DOM/Storage">localStorage</a> работает схожим образом, но в синхронном режиме, поэтому запрещён в сервис-воркерах.</p>
</div>
<div class="note">
@@ -264,7 +264,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<p><img alt="" src="https://mdn.mozillademos.org/files/12634/sw-fetch.png" style="display: block; margin: 0 auto;"></p>
-<p>Событие <code>fetch</code> возникает каждый раз, когда запрашиваются любые подконтрольные сервис-воркеру ресурсы, к которым относятся документы из области видимости и другие ресурсы, связанные с этими документами (например, если в index.html происходит кросс-доменный запрос для загрузки изображения, то он тоже попадет в сервис-воркер).</p>
+<p>Событие <code>fetch</code> возникает каждый раз, когда запрашиваются любые подконтрольные сервис-воркеру ресурсы, к которым относятся документы из области видимости и другие ресурсы, связанные с этими документами (например, если в index.html происходит кросс-доменный запрос для загрузки изображения, то он тоже попадёт в сервис-воркер).</p>
<p>Вы можете подключить к сервис-воркеру обработчик события <code>fetch</code> и внутри него на объекте события вызвать метод <code>respondWith()</code>, чтобы заменить ответы и показать собственную "магию".</p>
@@ -322,7 +322,7 @@ event.request.body</pre>
<h2 id="Восстановление_неудачных_запросов">Восстановление неудачных запросов</h2>
-<p>Итак, <code>caches.match(event.request)</code> отработает как нужно только в том случае, если в кеше сервис-воркера будет найдено соответствие запросу. Но что произойдет, если такого соответствия не будет найдено? Если мы не предоставим никакого механизма обработки такой ситуации, то промис выполнится со значением <code>undefined</code> и мы не получим никакого значения.</p>
+<p>Итак, <code>caches.match(event.request)</code> отработает как нужно только в том случае, если в кеше сервис-воркера будет найдено соответствие запросу. Но что произойдёт, если такого соответствия не будет найдено? Если мы не предоставим никакого механизма обработки такой ситуации, то промис выполнится со значением <code>undefined</code> и мы не получим никакого значения.</p>
<p>К счастью, сервис-воркеры имеют структуру основанную на промисах, что делает тривиальной такую обработку и предоставляет большое количество способов успешно обработать запрос:</p>
@@ -334,9 +334,9 @@ event.request.body</pre>
);
});</pre>
-<p>Если промис будет отклонен, функция <code>catch()</code> вернет обычный сетевой запрос к внешнему ресурсу. Это значит, что, если сеть доступна, то ресурс просто загрузится с сервера.</p>
+<p>Если промис будет отклонён, функция <code>catch()</code> вернёт обычный сетевой запрос к внешнему ресурсу. Это значит, что, если сеть доступна, то ресурс просто загрузится с сервера.</p>
-<p>Если же мы были достаточно умны, то мы не стали бы просто возвращать сетевой запрос, а сохранили бы его результат в кеше, чтобы иметь возможность получить его в offline-режиме. В случае с нашим демо-приложением "Star Wars gallery", это означает, что, если в галерею будет добавлено еще одно изображение, то оно будет получено и сохранено в кеше:</p>
+<p>Если же мы были достаточно умны, то мы не стали бы просто возвращать сетевой запрос, а сохранили бы его результат в кеше, чтобы иметь возможность получить его в offline-режиме. В случае с нашим демо-приложением "Star Wars gallery", это означает, что, если в галерею будет добавлено ещё одно изображение, то оно будет получено и сохранено в кеше:</p>
<pre class="brush: js notranslate">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
@@ -351,11 +351,11 @@ event.request.body</pre>
);
});</pre>
-<p>Здесь мы возвращаем обычный сетевой запрос, который возвращен вызовом <code>fetch(event.request);</code> этот запрос также является промисом. Когда промис разрешится, мы получим кеш вызвав <code>caches.open('v1');</code> этот метод также возвращает промис. Когда разрешится уже второй промис, будет использован вызов <code>cache.put()</code>, чтобы поместить ресурс в кеш. Ресурс получен через <code>event.request</code>, а ответ — через клонирование <code>response.clone()</code>. Клон помещается в кеш, а оригинальный ответ передается браузеру, который передает его странице, которая запросила ресурс.</p>
+<p>Здесь мы возвращаем обычный сетевой запрос, который возвращён вызовом <code>fetch(event.request);</code> этот запрос также является промисом. Когда промис разрешится, мы получим кеш вызвав <code>caches.open('v1');</code> этот метод также возвращает промис. Когда разрешится уже второй промис, будет использован вызов <code>cache.put()</code>, чтобы поместить ресурс в кеш. Ресурс получен через <code>event.request</code>, а ответ — через клонирование <code>response.clone()</code>. Клон помещается в кеш, а оригинальный ответ передаётся браузеру, который передаёт его странице, которая запросила ресурс.</p>
-<p>Почему? Потому что потоки запроса и ответа могут быть прочитаны только единожды. Чтобы ответ был получен браузером и сохранен в кеше, нам нужно клонировать его. Так оригинальный объект отправится браузеру, а клон будет закеширован. Оба они будут прочитаны единожды.</p>
+<p>Почему? Потому что потоки запроса и ответа могут быть прочитаны только единожды. Чтобы ответ был получен браузером и сохранён в кеше, нам нужно клонировать его. Так оригинальный объект отправится браузеру, а клон будет закеширован. Оба они будут прочитаны единожды.</p>
-<p>У нас все ещё остается единственная проблема - если на какой-либо запрос в кеше не будет найдено соответствие, и в этот момент сеть не доступна, то наш запрос завершится неудачно. Давайте реализуем запасной вариант по умолчанию, при котором пользователь, в описанном случае, будет получать хоть что-нибудь:</p>
+<p>У нас все ещё остаётся единственная проблема - если на какой-либо запрос в кеше не будет найдено соответствие, и в этот момент сеть не доступна, то наш запрос завершится неудачно. Давайте реализуем запасной вариант по умолчанию, при котором пользователь, в описанном случае, будет получать хоть что-нибудь:</p>
<pre class="brush: js notranslate">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
@@ -406,7 +406,7 @@ event.request.body</pre>
<h3 id="Удаление_старого_кеша">Удаление старого кеша</h3>
-<p>Вы можете обрабатывать событие activate. Оно обычно используется в случае, если нужно выполнить такие действия, которые бы нарушили работу воркеров предыдущей версии, если они все еще работают со старым кешем. Также это событие полезно использовать для того, чтобы удалить ненужные данные, чтобы освободить место, занимаемое на диске, потому что каждый браузер имеет жесткие ограничения на размер хранилища кеша, которое доступно для использования сервис-воркерами.</p>
+<p>Вы можете обрабатывать событие activate. Оно обычно используется в случае, если нужно выполнить такие действия, которые бы нарушили работу воркеров предыдущей версии, если они все ещё работают со старым кешем. Также это событие полезно использовать для того, чтобы удалить ненужные данные, чтобы освободить место, занимаемое на диске, потому что каждый браузер имеет жёсткие ограничения на размер хранилища кеша, которое доступно для использования сервис-воркерами.</p>
<p>Promise, переданный в <code>waitUntil()</code>, заблокирует другие события до своего завершения, поэтому можно быть уверенным, что процесс очистки закончится раньше, чем выполнится первое событие <code>fetch</code> на основе нового кеша.</p>
diff --git a/files/ru/web/api/serviceworker/scripturl/index.html b/files/ru/web/api/serviceworker/scripturl/index.html
index c01cb6c968..a0453d4354 100644
--- a/files/ru/web/api/serviceworker/scripturl/index.html
+++ b/files/ru/web/api/serviceworker/scripturl/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/ServiceWorker/scriptURL
---
<div>{{APIRef("Service Workers API")}}</div>
-<p>Возвращает URL, указывающий на скрипт данного Service Worker, определенный с помощью <a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration" title="ServiceWorkerRegistion is an interface object representing the service worker registration. You register a service worker to control one or more pages that share the same origin."><code>ServiceWorkerRegistration</code></a>. URL должен находиться в том же домене, что и документ, регистрирующий <code>ServiceWorker</code>.</p>
+<p>Возвращает URL, указывающий на скрипт данного Service Worker, определённый с помощью <a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration" title="ServiceWorkerRegistion is an interface object representing the service worker registration. You register a service worker to control one or more pages that share the same origin."><code>ServiceWorkerRegistration</code></a>. URL должен находиться в том же домене, что и документ, регистрирующий <code>ServiceWorker</code>.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/serviceworkercontainer/register/index.html b/files/ru/web/api/serviceworkercontainer/register/index.html
index 7fd83f836c..3c86ae2687 100644
--- a/files/ru/web/api/serviceworkercontainer/register/index.html
+++ b/files/ru/web/api/serviceworkercontainer/register/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/ServiceWorkerContainer/register
---
<p>{{SeeCompatTable}}{{APIRef("Service Workers API")}}</p>
-<p><strong><code>register()</code></strong> метод {{domxref("ServiceWorkerContainer")}} интерфейса который создает и обновляет <a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration" title="The ServiceWorkerRegistion interface of the ServiceWorker API represents the service worker registration. You register a service worker to control one or more pages that share the same origin."><code>ServiceWorkerRegistration</code></a>  для указанного <code>URL js скрипта</code>.</p>
+<p><strong><code>register()</code></strong> метод {{domxref("ServiceWorkerContainer")}} интерфейса который создаёт и обновляет <a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration" title="The ServiceWorkerRegistion interface of the ServiceWorker API represents the service worker registration. You register a service worker to control one or more pages that share the same origin."><code>ServiceWorkerRegistration</code></a>  для указанного <code>URL js скрипта</code>.</p>
<p>Если удачно, service worker registration связывается по указанному URL js скрипта , который соответственно используется для проверки совпадения при навигации по URL. Если метод не возвращает <code>ServiceWorkerRegistration</code>, он возвращает <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" title="The Promise object is used for deferred and asynchronous computations. A Promise is in one of the three states:"><code>Promise</code></a>. Есть возможность вызвать этот метод без проверки на условие, т.е. нет необходимости сначала проверять существует ли активная регистрация в данный момент или нет.</p>
@@ -33,13 +33,13 @@ translation_of: Web/API/ServiceWorkerContainer/register
<h2 id="Пример_использования">Пример использования</h2>
-<p>Примеры кода, приведенные ниже, должны рассматриваться вместе для лучшего понимания того, как применяется scope service worker-ов к конкретной странице.</p>
+<p>Примеры кода, приведённые ниже, должны рассматриваться вместе для лучшего понимания того, как применяется scope service worker-ов к конкретной странице.</p>
<p>Следующий пример использует дефолтный scope (не указывая его прямо). Service worker в этом случае будет контролировать <code>example.com/index.html</code> и страницы, расположенные "глубже", например <code>example.com/product/description.html</code>.</p>
<pre class="brush: js notranslate">if ('serviceWorker' in navigator) {
// Регистрация service worker-а, расположенного в корне сайта
-  // за счет использования дефолтного scope (не указывая его)
+  // за счёт использования дефолтного scope (не указывая его)
  navigator.serviceWorker.register('/sw.js').then(function(registration) {
    console.log('Service worker зарегистрирован:', registration);
  }).catch(function(error) {
@@ -50,7 +50,7 @@ translation_of: Web/API/ServiceWorkerContainer/register
  console.log('Текущий браузер не поддерживает service worker-ы');
}</pre>
-<p>Следующий пример, если он размещен на странице корня сайта, будет применен ровно к тем же страницам, что и пример выше. Помните, scope, если он указан, использует path страницы в качестве своей базы. Это значит, что, если следующий пример будет использоваться на странице <code>example.com/product/description.html</code>, то scope <code>./</code> будет означать, что service worker работает только со страницами внутри <code>example.com/product</code>. Если необходимо зарегистрировать service worker на <code>example.com/product/description.html</code>, и вы хотите, чтобы он обслуживал и корень, <code>example.com</code>, то scope лучше не указывать совсем, как в примере выше.</p>
+<p>Следующий пример, если он размещён на странице корня сайта, будет применён ровно к тем же страницам, что и пример выше. Помните, scope, если он указан, использует path страницы в качестве своей базы. Это значит, что, если следующий пример будет использоваться на странице <code>example.com/product/description.html</code>, то scope <code>./</code> будет означать, что service worker работает только со страницами внутри <code>example.com/product</code>. Если необходимо зарегистрировать service worker на <code>example.com/product/description.html</code>, и вы хотите, чтобы он обслуживал и корень, <code>example.com</code>, то scope лучше не указывать совсем, как в примере выше.</p>
<pre class="brush: js notranslate">if ('serviceWorker' in navigator) {
  // Регистрация service worker-а, расположенного в корне сайта
diff --git a/files/ru/web/api/serviceworkerregistration/pushmanager/index.html b/files/ru/web/api/serviceworkerregistration/pushmanager/index.html
index 9ef0d95a7d..cc9b0097ba 100644
--- a/files/ru/web/api/serviceworkerregistration/pushmanager/index.html
+++ b/files/ru/web/api/serviceworkerregistration/pushmanager/index.html
@@ -35,7 +35,7 @@ navigator.serviceWorker.register('serviceworker.js').then(
// при помощи XMLHttpRequest.
}, function(error) {
// При разработке это часто помогает отлавливать ошибки в консоли.
- // В продакшен-среде это также может быть полезно для отправки отчета
+ // В продакшен-среде это также может быть полезно для отправки отчёта
// об ошибках на сервер приложения.
console.log(error);
}
diff --git a/files/ru/web/api/serviceworkerregistration/shownotification/index.html b/files/ru/web/api/serviceworkerregistration/shownotification/index.html
index fdcd0943fc..1be41dab02 100644
--- a/files/ru/web/api/serviceworkerregistration/shownotification/index.html
+++ b/files/ru/web/api/serviceworkerregistration/shownotification/index.html
@@ -43,7 +43,7 @@ translation_of: Web/API/ServiceWorkerRegistration/showNotification
<li><code>renotify</code>: A boolean that indicates whether to supress vibrations and audible alerts when resusing a <code>tag</code> value. The default is false.</li>
<li><code>requireInteraction</code>: Indicates that on devices with sufficiently large screens, a notification should remain active until the user clicks or dismisses it. If this value is absent or false, the desktop version of Chrome will auto-minimize notifications after approximately twenty seconds. The default value is <code>false</code>.</li>
<li><code>tag</code>: An ID for a given notification that allows you to find, replace, or remove the notification using script if necessary.</li>
- <li><code>vibrate</code>: Шаблон вибрации, которая будет воспроизведена вместе с уведомлением. Шаблон может быть массивом из как минимум одного элемента. Значения элементов это время в миллисекундах, при этом четные элементы (0, 2, 4, и т.д.) отражают периоды вибрации, а нечетные периоды пауз. Например, <code>[300, 100, 400]</code> будет означать вибрацию 300ms, паузу 100ms, затем вибрацию 400ms.</li>
+ <li><code>vibrate</code>: Шаблон вибрации, которая будет воспроизведена вместе с уведомлением. Шаблон может быть массивом из как минимум одного элемента. Значения элементов это время в миллисекундах, при этом чётные элементы (0, 2, 4, и т.д.) отражают периоды вибрации, а нечётные периоды пауз. Например, <code>[300, 100, 400]</code> будет означать вибрацию 300ms, паузу 100ms, затем вибрацию 400ms.</li>
<li><code>data</code>: Arbitrary data that you want associated with the notification. This can be of any data type.</li>
</ul>
</dd>
diff --git a/files/ru/web/api/serviceworkerstate/index.html b/files/ru/web/api/serviceworkerstate/index.html
index a1702d28b1..9185341f54 100644
--- a/files/ru/web/api/serviceworkerstate/index.html
+++ b/files/ru/web/api/serviceworkerstate/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/ServiceWorkerState
<dt><code>installed</code></dt>
<dd>Service worker находится в состоянии ожидания и будет активирован после закрытия всех страниц его источника, использующих предыдущую версию service worker'а.</dd>
<dt><code>activating</code></dt>
- <dd>Service worker в данном состоянии считается активным. В этом состоянии, метод {{DOMxRef("ExtendableEvent.waitUntil()")}} может быть вызван в обработчике события <code>onactivate</code> для продления этапа активации до успешного завершения переданного промиса. Service worker не начнет обрабатывать события до перехода в состояние <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">activated</span></font>.</dd>
+ <dd>Service worker в данном состоянии считается активным. В этом состоянии, метод {{DOMxRef("ExtendableEvent.waitUntil()")}} может быть вызван в обработчике события <code>onactivate</code> для продления этапа активации до успешного завершения переданного промиса. Service worker не начнёт обрабатывать события до перехода в состояние <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">activated</span></font>.</dd>
<dt><code>activated</code></dt>
<dd>Service worker в данном состоянии активен и готов обрабатывать события.</dd>
<dt><code>redundant</code></dt>
diff --git a/files/ru/web/api/sharedworker/index.html b/files/ru/web/api/sharedworker/index.html
index 7e2b91c3c7..a50a9664a3 100644
--- a/files/ru/web/api/sharedworker/index.html
+++ b/files/ru/web/api/sharedworker/index.html
@@ -30,7 +30,7 @@ translation_of: Web/API/SharedWorker
<dl>
<dt>{{domxref("SharedWorker.SharedWorker", "SharedWorker()")}}</dt>
- <dd>Создает разделяемый веб воркер, который выполняет скрипт по указанному URL.</dd>
+ <dd>Создаёт разделяемый веб воркер, который выполняет скрипт по указанному URL.</dd>
</dl>
<h2 id="Методы">Методы</h2>
diff --git a/files/ru/web/api/speechgrammar/index.html b/files/ru/web/api/speechgrammar/index.html
index d4f5246027..1731b109f3 100644
--- a/files/ru/web/api/speechgrammar/index.html
+++ b/files/ru/web/api/speechgrammar/index.html
@@ -21,7 +21,7 @@ translation_of: Web/API/SpeechGrammar
<dl>
<dt>{{domxref("SpeechGrammar.SpeechGrammar()")}}</dt>
- <dd>Создает новый объект <code>SpeechGrammar</code> .</dd>
+ <dd>Создаёт новый объект <code>SpeechGrammar</code> .</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/speechrecognition/index.html b/files/ru/web/api/speechrecognition/index.html
index 8331ae2e91..f7939e84d2 100644
--- a/files/ru/web/api/speechrecognition/index.html
+++ b/files/ru/web/api/speechrecognition/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/SpeechRecognition
<dl>
<dt>{{domxref("SpeechRecognition.SpeechRecognition()")}}</dt>
- <dd>Создает новый <font face="consolas, Liberation Mono, courier, monospace">объект </font><code>SpeechRecognition</code> .</dd>
+ <dd>Создаёт новый <font face="consolas, Liberation Mono, courier, monospace">объект </font><code>SpeechRecognition</code> .</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -22,11 +22,11 @@ translation_of: Web/API/SpeechRecognition
<dt>{{domxref("SpeechRecognition.grammars")}}</dt>
<dd>Возвращает и устанавливает коллекцию объектов {{domxref("SpeechGrammar")}}  грамматики которые будут понятны текущему <code>SpeechRecognition</code>.</dd>
<dt>{{domxref("SpeechRecognition.lang")}}</dt>
- <dd>Задает и возвращает язык текущего <code>SpeechRecognition</code>. Если данное свойство не указано по умолчанию, то используется из HTML кода значение атрибута {{htmlattrxref("lang","html")}} , или настройки языка агента текущего пользователя.</dd>
+ <dd>Задаёт и возвращает язык текущего <code>SpeechRecognition</code>. Если данное свойство не указано по умолчанию, то используется из HTML кода значение атрибута {{htmlattrxref("lang","html")}} , или настройки языка агента текущего пользователя.</dd>
<dt>{{domxref("SpeechRecognition.continuous")}}</dt>
<dd>Проверяет возвращается ли непрерывные результаты или вернулся только один. По умолчанию для одиночного значение (<code>false</code>.)</dd>
<dt>{{domxref("SpeechRecognition.interimResults")}}</dt>
- <dd>Контроллирует, следует ли возвращать промежуточные результаты (<code>true</code>) или нет (<code>false</code>.) Промежуточные результаты это результаты которые еще не завершены ( например {{domxref("SpeechRecognitionResult.isFinal")}} свойство <font face="consolas, Liberation Mono, courier, monospace">ложно</font>.)</dd>
+ <dd>Контроллирует, следует ли возвращать промежуточные результаты (<code>true</code>) или нет (<code>false</code>.) Промежуточные результаты это результаты которые ещё не завершены ( например {{domxref("SpeechRecognitionResult.isFinal")}} свойство <font face="consolas, Liberation Mono, courier, monospace">ложно</font>.)</dd>
<dt>{{domxref("SpeechRecognition.maxAlternatives")}}</dt>
<dd>Устанавливает максимальное количество предоставленных результатов {{domxref("SpeechRecognitionAlternative")}}. По умолчанию значение 1.</dd>
<dt>{{domxref("SpeechRecognition.serviceURI")}}</dt>
@@ -45,7 +45,7 @@ translation_of: Web/API/SpeechRecognition
<dt>{{domxref("SpeechRecognition.onerror")}}</dt>
<dd>Вызывается когда произошла ошибка распознавания речи.</dd>
<dt>{{domxref("SpeechRecognition.onnomatch")}}</dt>
- <dd>Вызывается, когда служба распознавания речи возвращает окончательный результат без существенного распознавания. Это может включать определенную степень признания  {{domxref("SpeechRecognitionAlternative.confidence","confidence")}} которая не соответствует пороговому значению или превышает его.</dd>
+ <dd>Вызывается, когда служба распознавания речи возвращает окончательный результат без существенного распознавания. Это может включать определённую степень признания  {{domxref("SpeechRecognitionAlternative.confidence","confidence")}} которая не соответствует пороговому значению или превышает его.</dd>
<dt>{{domxref("SpeechRecognition.onresult")}}</dt>
<dd>Вызывается когда возвращает результат — слово или фраза были распознаны положительно, и это было передано обратно в приложение.</dd>
<dt>{{domxref("SpeechRecognition.onsoundstart")}}</dt>
@@ -75,9 +75,9 @@ translation_of: Web/API/SpeechRecognition
<h2 id="Примеры">Примеры</h2>
-<p>В нашем простом примере <a href="https://github.com/mdn/web-speech-api/tree/master/speech-color-changer">Speech color changer</a> , мы создаем новый объект экземпляра <code>SpeechRecognition</code> используя этот конструктор {{domxref("SpeechRecognition.SpeechRecognition", "SpeechRecognition()")}} , создание нового  {{domxref("SpeechGrammarList")}}, И установить его в качестве грамматики, которая будет распознаваться экземпляром распознавание речи с использованием свойства {{domxref("SpeechRecognition.grammars")}}.</p>
+<p>В нашем простом примере <a href="https://github.com/mdn/web-speech-api/tree/master/speech-color-changer">Speech color changer</a> , мы создаём новый объект экземпляра <code>SpeechRecognition</code> используя этот конструктор {{domxref("SpeechRecognition.SpeechRecognition", "SpeechRecognition()")}} , создание нового  {{domxref("SpeechGrammarList")}}, И установить его в качестве грамматики, которая будет распознаваться экземпляром распознавание речи с использованием свойства {{domxref("SpeechRecognition.grammars")}}.</p>
-<p>После определения некоторых других значений мы затем устанавливаем их так, чтобы служба распознавания началась когда произошло событие по клику ( {{domxref("SpeechRecognition.start()")}}.) Когда результат был успешно распознан, the {{domxref("SpeechRecognition.onresult")}} обработчик извлекаем цвет, который был произнесен из события, а затем меняем цвет фона на данный цвет {{htmlelement("html")}}.</p>
+<p>После определения некоторых других значений мы затем устанавливаем их так, чтобы служба распознавания началась когда произошло событие по клику ( {{domxref("SpeechRecognition.start()")}}.) Когда результат был успешно распознан, the {{domxref("SpeechRecognition.onresult")}} обработчик извлекаем цвет, который был произнесён из события, а затем меняем цвет фона на данный цвет {{htmlelement("html")}}.</p>
<pre class="brush: js">var grammar = '#JSGF V1.0; grammar colors; public &lt;color&gt; = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;'
var recognition = new SpeechRecognition();
@@ -199,7 +199,7 @@ recognition.onresult = function(event) {
<h3 id="Firefox_OS_разрешения">Firefox OS разрешения</h3>
-<p>Чтобы использовать распознавание речи в приложении, вам необходимо указать следующие разрешения в своем <a href="/en-US/docs/Web/Apps/Build/Manifest">manifest</a>:</p>
+<p>Чтобы использовать распознавание речи в приложении, вам необходимо указать следующие разрешения в своём <a href="/en-US/docs/Web/Apps/Build/Manifest">manifest</a>:</p>
<pre class="brush: json">"permissions": {
"audio-capture" : {
diff --git a/files/ru/web/api/speechsynthesisutterance/index.html b/files/ru/web/api/speechsynthesisutterance/index.html
index 94c0d175d6..750e34d8f5 100644
--- a/files/ru/web/api/speechsynthesisutterance/index.html
+++ b/files/ru/web/api/speechsynthesisutterance/index.html
@@ -16,7 +16,7 @@ translation_of: Web/API/SpeechSynthesisUtterance
<h2 id="Свойства">Свойства</h2>
-<p><em><code>SpeechSynthesisUtterance</code> еще наследует свойства из его своего родительского интерфейса {{domxref("EventTarget")}}.</em></p>
+<p><em><code>SpeechSynthesisUtterance</code> ещё наследует свойства из его своего родительского интерфейса {{domxref("EventTarget")}}.</em></p>
<dl>
<dt>{{domxref("SpeechSynthesisUtterance.lang")}}</dt>
@@ -37,13 +37,13 @@ translation_of: Web/API/SpeechSynthesisUtterance
<dl>
<dt>{{domxref("SpeechSynthesisUtterance.onboundary")}}</dt>
- <dd>Срабатывает, когда произнесенное высказывание достигает границы слова или предложения.</dd>
+ <dd>Срабатывает, когда произнесённое высказывание достигает границы слова или предложения.</dd>
<dt>{{domxref("SpeechSynthesisUtterance.onend")}}</dt>
<dd>Срабатывает, когда произнесение произнесено.</dd>
<dt>{{domxref("SpeechSynthesisUtterance.onerror")}}</dt>
<dd>Срабатывает, когда возникает ошибка, которая препятствует успешному произнесению высказывания.</dd>
<dt>{{domxref("SpeechSynthesisUtterance.onmark")}}</dt>
- <dd>Срабатывает, когда произнесенное высказывание достигает названного тега метки «SSML».</dd>
+ <dd>Срабатывает, когда произнесённое высказывание достигает названного тега метки «SSML».</dd>
<dt>{{domxref("SpeechSynthesisUtterance.onpause")}}</dt>
<dd>Срабатывает, когда высказывание приостановлено.</dd>
<dt>{{domxref("SpeechSynthesisUtterance.onresume")}}</dt>
diff --git a/files/ru/web/api/storage/clear/index.html b/files/ru/web/api/storage/clear/index.html
index ca829dae1b..869995f394 100644
--- a/files/ru/web/api/storage/clear/index.html
+++ b/files/ru/web/api/storage/clear/index.html
@@ -21,7 +21,7 @@ translation_of: Web/API/Storage/clear
<h2 id="Пример">Пример</h2>
-<p>Следующая функция создает 3 записи в локальном хранилище, после этого все значения удаляются с помощью метода <code>clear()</code>.</p>
+<p>Следующая функция создаёт 3 записи в локальном хранилище, после этого все значения удаляются с помощью метода <code>clear()</code>.</p>
<pre class="brush: js">function populateStorage() {
localStorage.setItem('bgcolor', 'red');
@@ -110,7 +110,7 @@ translation_of: Web/API/Storage/clear
</table>
</div>
-<p>Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p>
+<p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p>
<div class="note">
<p><strong>Примечание:</strong> Начиная с версии iOS 5.1, Safari Mobile хранит данные <code>localStorage</code> в папке cache, которая периодически подлежит очистке по требованию ОС, как правило при недостаточном количестве свободного места.</p>
diff --git a/files/ru/web/api/storage/getitem/index.html b/files/ru/web/api/storage/getitem/index.html
index cc066d8334..12a4985508 100644
--- a/files/ru/web/api/storage/getitem/index.html
+++ b/files/ru/web/api/storage/getitem/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Storage/getItem
---
<p>{{APIRef("Web Storage API")}}</p>
-<p>Если в метод <code>getItem()</code> интерфейса {{domxref("Storage")}} передать ключ в качестве параметра, то метод вернет значение, лежащее в хранилище по указанному ключу.</p>
+<p>Если в метод <code>getItem()</code> интерфейса {{domxref("Storage")}} передать ключ в качестве параметра, то метод вернёт значение, лежащее в хранилище по указанному ключу.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -120,7 +120,7 @@ translation_of: Web/API/Storage/getItem
</table>
</div>
-<p>Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p>
+<p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p>
<div class="note">
<p><strong>Примечание:</strong> Начиная с версии iOS 5.1, Safari Mobile хранит данные <code>localStorage</code> в папке cache, которая периодически подлежит очистке по требованию ОС, как правило при недостаточном количестве свободного места</p>
diff --git a/files/ru/web/api/storage/key/index.html b/files/ru/web/api/storage/key/index.html
index f8ff0d97b5..7accb735a9 100644
--- a/files/ru/web/api/storage/key/index.html
+++ b/files/ru/web/api/storage/key/index.html
@@ -117,7 +117,7 @@ translation_of: Web/API/Storage/key
</table>
</div>
-<p>Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь вы найдете <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p>
+<p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь вы найдёте <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p>
<div class="note">
<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть случайно  очищена по требованию OS, обычно это происходит, когда мало доступного места.</p>
diff --git a/files/ru/web/api/storage/length/index.html b/files/ru/web/api/storage/length/index.html
index 559673f403..98f6ea61aa 100644
--- a/files/ru/web/api/storage/length/index.html
+++ b/files/ru/web/api/storage/length/index.html
@@ -111,7 +111,7 @@ translation_of: Web/API/Storage/length
</table>
</div>
-<p>Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p>
+<p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p>
<div class="note">
<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p>
diff --git a/files/ru/web/api/storage/removeitem/index.html b/files/ru/web/api/storage/removeitem/index.html
index 12fbd2c7a4..e0767fa6a8 100644
--- a/files/ru/web/api/storage/removeitem/index.html
+++ b/files/ru/web/api/storage/removeitem/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/Storage/removeItem
---
<p>{{APIRef("Web Storage API")}}</p>
-<p>Если методу <code>removeItem()</code> интерфейса {{domxref("Storage")}} передать ключ, то из хранилища будет удален элемент с указанным ключом. </p>
+<p>Если методу <code>removeItem()</code> интерфейса {{domxref("Storage")}} передать ключ, то из хранилища будет удалён элемент с указанным ключом. </p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -28,7 +28,7 @@ translation_of: Web/API/Storage/removeItem
<h2 id="Пример">Пример</h2>
-<p>Следующая функция создает три элемента внутри локального хранилища и потом удаляет элемент с ключом <em>image</em>.</p>
+<p>Следующая функция создаёт три элемента внутри локального хранилища и потом удаляет элемент с ключом <em>image</em>.</p>
<pre class="brush: js notranslate">function populateStorage() {
localStorage.setItem('bgcolor', 'red');
diff --git a/files/ru/web/api/storage/setitem/index.html b/files/ru/web/api/storage/setitem/index.html
index fe3540e3d6..75eb11453e 100644
--- a/files/ru/web/api/storage/setitem/index.html
+++ b/files/ru/web/api/storage/setitem/index.html
@@ -32,7 +32,7 @@ translation_of: Web/API/Storage/setItem
<h2 id="Пример">Пример</h2>
-<p>Следующая функция создает три элемента с данными в хранилище.</p>
+<p>Следующая функция создаёт три элемента с данными в хранилище.</p>
<pre class="brush: js">function populateStorage() {
localStorage.setItem('bgcolor', 'red');
@@ -119,7 +119,7 @@ translation_of: Web/API/Storage/setItem
</table>
</div>
-<p>Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p>
+<p>Все браузеры имеют различный уровень объёма для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p>
<div class="note">
<p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p>
diff --git a/files/ru/web/api/storagemanager/index.html b/files/ru/web/api/storagemanager/index.html
index c28ba798a3..126c659604 100644
--- a/files/ru/web/api/storagemanager/index.html
+++ b/files/ru/web/api/storagemanager/index.html
@@ -16,7 +16,7 @@ translation_of: Web/API/StorageManager
---
<p>{{securecontext_header}}{{SeeCompatTable}}{{APIRef("Storage")}}</p>
-<p><strong><code>StorageManager</code></strong> является частью <a href="/en-US/docs/Web/API/Storage_API">Storage API</a> и предоставляет интерфейс для управления правами на хранение данных и для получения объема данных, доступного для хранения. Доступ к интерфейсу можно получить через {{domxref("navigator.storage")}} или через {{domxref("WorkerNavigator.storage")}}.</p>
+<p><strong><code>StorageManager</code></strong> является частью <a href="/en-US/docs/Web/API/Storage_API">Storage API</a> и предоставляет интерфейс для управления правами на хранение данных и для получения объёма данных, доступного для хранения. Доступ к интерфейсу можно получить через {{domxref("navigator.storage")}} или через {{domxref("WorkerNavigator.storage")}}.</p>
<h2 id="Методы">Методы</h2>
diff --git a/files/ru/web/api/streams_api/index.html b/files/ru/web/api/streams_api/index.html
index 777342b3bd..3ed4fc27ae 100644
--- a/files/ru/web/api/streams_api/index.html
+++ b/files/ru/web/api/streams_api/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/Streams_API
<p>Потоковая передача данных предполагает разбивку ресурса, который вы хотите получить через сеть, на мелкие кусочки и затем их обработку часть за частью. Это то, что браузеры делают в любом случае получения ассетов, чтобы показать их на страницах — видео буфер и другие ресурсы доступные для воспроизведения, и иногда это заметно на изображениях, загружающихся частями.</p>
-<p>Но методы работы с этим и данные никогда прежде не были доступны для JavaScript. Раньше, если мы хотели обработать часть ресурса, нам все равно пришлось бы загрузить весь файл (будь то видео, текстовый файл и т.п.), мы были бы обязаны скачать файл целиком, дождаться пока он будет приведен к необходимому формату и только потом работать с файлом после его полной загрузки.</p>
+<p>Но методы работы с этим и данные никогда прежде не были доступны для JavaScript. Раньше, если мы хотели обработать часть ресурса, нам все равно пришлось бы загрузить весь файл (будь то видео, текстовый файл и т.п.), мы были бы обязаны скачать файл целиком, дождаться пока он будет приведён к необходимому формату и только потом работать с файлом после его полной загрузки.</p>
<p>С помощью потоков доступных в JavaScript меняется все — вы можете начать обрабатывать данные бит за битом как только данные появляются на стороне клиента, без необходимости генерировать буфер, строку или какой либо объект из потока.</p>
@@ -19,7 +19,7 @@ translation_of: Web/API/Streams_API
<p>Но это не все преимущества — вы можете отловить процессы старта и завершения потока, связывать потоки в цепочки, обрабатывать ошибки или прерывать их если это необходимо, реагировать на скорость с которой поток считывается.</p>
-<p>Основное использование потоков крутиться вокруг создания ответов доступными в виде потоков. Например, тело ответа {{domxref("Body")}} возвращенного успешным <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросом</a> может быть представлено как {{domxref("ReadableStream")}}, и вы можете прочитать его используя ридер полученный методом {{domxref("ReadableStream.getReader()")}}, отменить его с помощью {{domxref("ReadableStream.cancel()")}}, и тп.</p>
+<p>Основное использование потоков крутиться вокруг создания ответов доступными в виде потоков. Например, тело ответа {{domxref("Body")}} возвращённого успешным <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросом</a> может быть представлено как {{domxref("ReadableStream")}}, и вы можете прочитать его используя ридер полученный методом {{domxref("ReadableStream.getReader()")}}, отменить его с помощью {{domxref("ReadableStream.cancel()")}}, и тп.</p>
<p>Более сложные примеры задействуют создание ваших собственных  потоков с помощью конструктора {{domxref("ReadableStream.ReadableStream", "ReadableStream()")}}, например чтобы обработать данные внутри <a href="/en-US/docs/Web/API/Service_Worker_API">service worker</a>.</p>
@@ -46,11 +46,11 @@ translation_of: Web/API/Streams_API
<dl>
<dt>{{domxref("WritableStream")}}</dt>
- <dd>Предоставляет стандартную абстракцию, известную как раковина, для записи потоков по месту назначения. Этот объект идет вместе со встроенными методами контроля обратного потока и созданием очередей.</dd>
+ <dd>Предоставляет стандартную абстракцию, известную как раковина, для записи потоков по месту назначения. Этот объект идёт вместе со встроенными методами контроля обратного потока и созданием очередей.</dd>
<dt>{{domxref("WritableStreamDefaultWriter")}}</dt>
<dd>Представляет запись потока по умолчанию, которая может использоваться для записи фрагментов данных в записываемый поток.</dd>
<dt>{{domxref("WritableStreamDefaultController")}}</dt>
- <dd>Представляет собой контроллер состояния {{domxref("WritableStream")}}. При создании <code>WritableStream</code>, создается также соответствующий экземпляр <code>WritableStreamDefaultController</code>.</dd>
+ <dd>Представляет собой контроллер состояния {{domxref("WritableStream")}}. При создании <code>WritableStream</code>, создаётся также соответствующий экземпляр <code>WritableStreamDefaultController</code>.</dd>
</dl>
<h3 id="Дополнительные_API_и_операции_по_работе_с_потоками">Дополнительные API и операции по работе с потоками</h3>
@@ -59,7 +59,7 @@ translation_of: Web/API/Streams_API
<dt>{{domxref("ByteLengthQueuingStrategy")}}</dt>
<dd>Предоставляет встроенную стратегию длины байт-очереди, которая может быть использована при построении потоков.</dd>
<dt>{{domxref("CountQueuingStrategy")}}</dt>
- <dd>Предоставляет встроенную стратегию организации очередей подсчета чанков, которая может использоваться при построении потоков.</dd>
+ <dd>Предоставляет встроенную стратегию организации очередей подсчёта чанков, которая может использоваться при построении потоков.</dd>
</dl>
<h3 id="Дополнения_к_другим_API">Дополнения к другим API</h3>
@@ -68,7 +68,7 @@ translation_of: Web/API/Streams_API
<dt>{{domxref("Request")}}</dt>
<dd>При создании нового объекта типа <code>Request</code>, вы можете добавить {{domxref("ReadableStream")}} в свойство <code>body</code> его словаря <code>RequestInit</code>.  Этот объект типа <code>Request</code> может быть отправлен в  {{domxref("WindowOrWorkerGlobalScope.fetch()")}}, чтобы начать загрузку потока.</dd>
<dt>{{domxref("Body")}}</dt>
- <dd>Ответ {{domxref("Body")}} возвращенный успешному <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросу</a> вывешивается по умолчанию как {{domxref("ReadableStream")}}, и может иметь получателя прикрепленного к нему и тп.</dd>
+ <dd>Ответ {{domxref("Body")}} возвращённый успешному <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросу</a> вывешивается по умолчанию как {{domxref("ReadableStream")}}, и может иметь получателя прикреплённого к нему и тп.</dd>
</dl>
<h3 id="Интерфейсы_в_дополнение_к_ByteStream">Интерфейсы в дополнение к ByteStream</h3>
diff --git a/files/ru/web/api/svgaelement/index.html b/files/ru/web/api/svgaelement/index.html
index 7bd391a9ff..16d0806808 100644
--- a/files/ru/web/api/svgaelement/index.html
+++ b/files/ru/web/api/svgaelement/index.html
@@ -23,7 +23,7 @@ translation_of: Web/API/SVGAElement
<dt>{{domxref("SVGAElement.hreflang")}}</dt>
<dd>Является {{domxref("DOMString")}}, который отражает атрибут <code>hreflang</code>, указывающий язык связанного ресурса.</dd>
<dt>{{domxref("SVGAElement.ping")}}</dt>
- <dd>Является {{domxref("DOMString")}}, отражая атрибут ping, содержащий список URL-адресов, разделенных пробелами, к которым, когда выполняется гиперссылка, {{HTTPMethod("POST")}} запрос с телом <code>PING</code> будет отправлен браузером (в фоновом режиме). Обычно используется для отслеживания.</dd>
+ <dd>Является {{domxref("DOMString")}}, отражая атрибут ping, содержащий список URL-адресов, разделённых пробелами, к которым, когда выполняется гиперссылка, {{HTTPMethod("POST")}} запрос с телом <code>PING</code> будет отправлен браузером (в фоновом режиме). Обычно используется для отслеживания.</dd>
<dt>{{domxref("SVGAElement.referrerPolicy")}}</dt>
<dd>См. {{domxref("HTMLAnchorElement.referrerPolicy")}}.</dd>
<dt>{{domxref("SVGAElement.rel")}}</dt>
diff --git a/files/ru/web/api/svgaelement/target/index.html b/files/ru/web/api/svgaelement/target/index.html
index d8e3ba1aa2..4af2cede02 100644
--- a/files/ru/web/api/svgaelement/target/index.html
+++ b/files/ru/web/api/svgaelement/target/index.html
@@ -48,7 +48,7 @@ linkRef.target ='_blank';
<h2 id="Browser_compatibility" name="Browser_compatibility">Browser compatibility</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
<p>{{Compat("api.SVGAElement.target")}}</p>
diff --git a/files/ru/web/api/svggraphicselement/index.html b/files/ru/web/api/svggraphicselement/index.html
index 86f9e76035..eca4dd9c22 100644
--- a/files/ru/web/api/svggraphicselement/index.html
+++ b/files/ru/web/api/svggraphicselement/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/SVGGraphicsElement
<p>{{InheritanceDiagram(600, 120)}}</p>
<div class="note">
-<p><strong>Note:</strong> Этот интерфейс был введен в SVG 2 и заменяет интерфейсы  {{domxref("SVGLocatable")}} и {{domxref("SVGTransformable")}} из SVG 1.1.</p>
+<p><strong>Note:</strong> Этот интерфейс был введён в SVG 2 и заменяет интерфейсы  {{domxref("SVGLocatable")}} и {{domxref("SVGTransformable")}} из SVG 1.1.</p>
</div>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/svgtextcontentelement/index.html b/files/ru/web/api/svgtextcontentelement/index.html
index 384958a557..8a7c2f356f 100644
--- a/files/ru/web/api/svgtextcontentelement/index.html
+++ b/files/ru/web/api/svgtextcontentelement/index.html
@@ -93,7 +93,7 @@ translation_of: Web/API/SVGTextContentElement
<tr>
<td>{{SpecName("SVG2", "text.html#InterfaceSVGTextContentElement", "SVGTextContentElement")}}</td>
<td>{{Spec2("SVG2")}}</td>
- <td>Измененное наследование от {{domxref("SVGElement")}} до {{domxref("SVGGraphicsElement")}} и <code>getStartPositionOfChar()</code> удаленных реализаций {{domxref("SVGTests")}}, {{domxref("SVGLangSpace" )}}, {{domxref("SVGExternalResourcesRequired")}}, {{domxref("SVGStylable")}} интерфейсов и <code>getEndPositionOfChar()</code>, чтобы вернуть {{domxref("DOMPoint")}} вместо {{domxref( "SVGPoint")}}.</td>
+ <td>Изменённое наследование от {{domxref("SVGElement")}} до {{domxref("SVGGraphicsElement")}} и <code>getStartPositionOfChar()</code> удалённых реализаций {{domxref("SVGTests")}}, {{domxref("SVGLangSpace" )}}, {{domxref("SVGExternalResourcesRequired")}}, {{domxref("SVGStylable")}} интерфейсов и <code>getEndPositionOfChar()</code>, чтобы вернуть {{domxref("DOMPoint")}} вместо {{domxref( "SVGPoint")}}.</td>
</tr>
<tr>
<td>{{SpecName("SVG1.1", "text.html#InterfaceSVGTextContentElement", "SVGTextContentElement")}}</td>
@@ -105,6 +105,6 @@ translation_of: Web/API/SVGTextContentElement
<h2 id="Совместимость_с_браузером">Совместимость с браузером</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
<p>{{Compat("api.SVGTextContentElement")}}</p>
diff --git a/files/ru/web/api/svgtextelement/index.html b/files/ru/web/api/svgtextelement/index.html
index f1e27d56a3..2ccbf4d576 100644
--- a/files/ru/web/api/svgtextelement/index.html
+++ b/files/ru/web/api/svgtextelement/index.html
@@ -34,7 +34,7 @@ translation_of: Web/API/SVGTextElement
<td>{{SpecName("SVG2", "text.html#InterfaceSVGTextElement", "SVGTextElement")}}</td>
<td>{{Spec2("SVG2")}}</td>
<td>
- <p>Удален реализованный<br>
+ <p>Удалён реализованный<br>
интерфейс {{domxref("SVGTransformable")}}.</p>
</td>
</tr>
@@ -49,7 +49,7 @@ translation_of: Web/API/SVGTextElement
<h2 id="Совместимость_с_браузером">Совместимость с браузером</h2>
<div>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на перенос.</div>
<p>{{Compat("api.SVGTextElement")}}</p>
</div>
diff --git a/files/ru/web/api/text/index.html b/files/ru/web/api/text/index.html
index f8e5f25f0e..625848211b 100644
--- a/files/ru/web/api/text/index.html
+++ b/files/ru/web/api/text/index.html
@@ -32,7 +32,7 @@ translation_of: Web/API/Text
<p>Возвращает флаг {{domxref("Boolean")}}, сигнализирующий, содержит ли (или нет) text node только пробел(ы).</p>
</dd>
<dt>{{domxref("Text.wholeText")}} {{readonlyInline}}</dt>
- <dd>Возвращает {{domxref("DOMString")}}, который содержит все <code>Text</code> nodes логически примыкающие к этому {{domxref("Node")}}, соединенные как в документе.</dd>
+ <dd>Возвращает {{domxref("DOMString")}}, который содержит все <code>Text</code> nodes логически примыкающие к этому {{domxref("Node")}}, соединённые как в документе.</dd>
<dt>{{domxref("Text.assignedSlot")}} {{readonlyinline}}</dt>
<dd>Возвращает объект {{domxref("HTMLSlotElement")}}, связанный с этим элементом.</dd>
</dl>
@@ -76,7 +76,7 @@ translation_of: Web/API/Text
<td>{{SpecName('DOM WHATWG', '#text', 'Text')}}</td>
<td>{{Spec2('DOM WHATWG')}}</td>
<td>Удалено свойство <code>isElementContentWhitespace</code>.<br>
- <code>Удален метод replaceWholeText()</code>.<br>
+ <code>Удалён метод replaceWholeText()</code>.<br>
Добавлен конструктор <code>Text()</code>.<br>
Добавлено свойство <code>assignedSlot</code>.</td>
</tr>
diff --git a/files/ru/web/api/touch_events/index.html b/files/ru/web/api/touch_events/index.html
index 0784963a41..fd86517821 100644
--- a/files/ru/web/api/touch_events/index.html
+++ b/files/ru/web/api/touch_events/index.html
@@ -93,7 +93,7 @@ Log: &lt;pre id="log" style="border: 1px solid #ccc;"&gt;&lt;/pre&gt;</pre>
}
</pre>
-<p>Она вызывает {{domxref("event.preventDefault()")}} для того, чтобы предотвратить обработку браузером события касания (это также предотвращает обработку события мыши). Затем мы получаем контекст и извлекаем список измененных точек касаний из свойства {{domxref("TouchEvent.changedTouches")}} данного события.</p>
+<p>Она вызывает {{domxref("event.preventDefault()")}} для того, чтобы предотвратить обработку браузером события касания (это также предотвращает обработку события мыши). Затем мы получаем контекст и извлекаем список изменённых точек касаний из свойства {{domxref("TouchEvent.changedTouches")}} данного события.</p>
<p>После этого мы перебираем все объекты {{domxref("Touch")}} в списке, помещая их в массив активных точек касания и рисуя начальную точку в виде маленького кружка; мы используем линию толщиной 4 пикселя, поэтому получим аккуратный круг радиусом 4 пикселя.</p>
@@ -131,7 +131,7 @@ Log: &lt;pre id="log" style="border: 1px solid #ccc;"&gt;&lt;/pre&gt;</pre>
}
</pre>
-<p>Функция также перебирает измененные касания, ищет в нашем массиве данных о касаниях предыдущие данные о каждом касании для определения начальной точки каждого отрезка линии, который должен быть нарисован с помощью касания. Это реализовано путем отслеживания свойства {{domxref("Touch.identifier")}} каждого касания. Это свойство является уникальным числом для каждого касания, и остается неизменным на протяжении всего времени контакта пальца с экраном.</p>
+<p>Функция также перебирает изменённые касания, ищет в нашем массиве данных о касаниях предыдущие данные о каждом касании для определения начальной точки каждого отрезка линии, который должен быть нарисован с помощью касания. Это реализовано путём отслеживания свойства {{domxref("Touch.identifier")}} каждого касания. Это свойство является уникальным числом для каждого касания, и остаётся неизменным на протяжении всего времени контакта пальца с экраном.</p>
<p>Это позволяет нам получать координаты предыдущей позиции каждого касания и использовать подходящий метод "canvas-контекста" для рисования отрезка линии, соединяющего начало и конец.</p>
@@ -139,7 +139,7 @@ Log: &lt;pre id="log" style="border: 1px solid #ccc;"&gt;&lt;/pre&gt;</pre>
<h4 id="Обработка_завершения_касания">Обработка завершения касания</h4>
-<p>Когда пользователь убирает палец с сенсорной поверхности, срабатывает событие {{domxref("Element/touchend_event", "touchend")}}. Мы обрабатываем его, вызывая функцию <code>handleEnd()</code>, которая представлена ниже. Ее задача - рисовать последний отрезок линии для каждого касания, которое завершилось, и удалять точку касания из текущего списка касаний.</p>
+<p>Когда пользователь убирает палец с сенсорной поверхности, срабатывает событие {{domxref("Element/touchend_event", "touchend")}}. Мы обрабатываем его, вызывая функцию <code>handleEnd()</code>, которая представлена ниже. Её задача - рисовать последний отрезок линии для каждого касания, которое завершилось, и удалять точку касания из текущего списка касаний.</p>
<pre class="brush: js notranslate">function handleEnd(evt) {
  evt.preventDefault();
@@ -167,9 +167,9 @@ Log: &lt;pre id="log" style="border: 1px solid #ccc;"&gt;&lt;/pre&gt;</pre>
}
</pre>
-<p>Она очень похожа на предыдущую функцию; единственное отличие заключается в том, что,что теперь мы рисуем маленький квадрат, чтобы обозначить конец, и в том, что когда мы мы вызываем  <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/splice">Array.splice()</a></code>, мы просто удаляем старую запись из текущего списка касаний без добавления обновленной информации. В результате мы прекращаем отслеживать эту точку касания.</p>
+<p>Она очень похожа на предыдущую функцию; единственное отличие заключается в том, что,что теперь мы рисуем маленький квадрат, чтобы обозначить конец, и в том, что когда мы мы вызываем  <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/splice">Array.splice()</a></code>, мы просто удаляем старую запись из текущего списка касаний без добавления обновлённой информации. В результате мы прекращаем отслеживать эту точку касания.</p>
-<h4 id="Обработка_отмененных_касаний">Обработка отмененных касаний</h4>
+<h4 id="Обработка_отменённых_касаний">Обработка отменённых касаний</h4>
<p>Если палец пользователя перемещается в интерфейс браузера или прикосновение должно быть отменено, отправляется событие {{domxref("Element/touchcancel_event", "touchcancel")}}, и мы вызываем функцию <code>handleCancel()</code>, приведённую ниже.</p>
@@ -330,8 +330,8 @@ Log: &lt;pre id="log" style="border: 1px solid #ccc;"&gt;&lt;/pre&gt;</pre>
<h3 id="Firefox_события_касаний_и_многопроцессность_e10s">Firefox, события касаний и многопроцессность (e10s)</h3>
-<p>В Firefox события касания отключены, когда отключен e10s (электролиз; <a href="/en-US/docs/Mozilla/Firefox/Multiprocess_Firefox">многопроцессорный Firefox</a>). e10s включен по умолчанию в Firefox, но может в конечном итоге отключаться в определенных ситуациях, например, когда установлены определенные инструменты специальных возможностей или надстройки Firefox, для работы которых требуется отключение e10s. Это означает, что даже на настольном компьютере / ноутбуке с сенсорным экраном сенсорные события не будут включены.</p>
+<p>В Firefox события касания отключены, когда отключён e10s (электролиз; <a href="/en-US/docs/Mozilla/Firefox/Multiprocess_Firefox">многопроцессорный Firefox</a>). e10s включён по умолчанию в Firefox, но может в конечном итоге отключаться в определённых ситуациях, например, когда установлены определённые инструменты специальных возможностей или надстройки Firefox, для работы которых требуется отключение e10s. Это означает, что даже на настольном компьютере / ноутбуке с сенсорным экраном сенсорные события не будут включены.</p>
-<p>Вы можете проверить, отключен ли e10s, перейдя в <code>about:support</code> и посмотрев на запись «Многопроцессорная Windows» в разделе «Основы приложения». 1/1 означает, что он включен, 0/1 означает отключен.</p>
+<p>Вы можете проверить, отключён ли e10s, перейдя в <code>about:support</code> и посмотрев на запись «Многопроцессорная Windows» в разделе «Основы приложения». 1/1 означает, что он включён, 0/1 означает отключен.</p>
-<p>Если вы хотите принудительно включить e10s - чтобы явно повторно включить поддержку сенсорных событий - вам нужно перейти к <code>about:config</code> и создать новое логическое предпочтение <code>browser.tabs.remote.force-enable</code>. Установите значение <code>true</code>, перезапустите браузер, и e10s будет включен независимо от любых других настроек.</p>
+<p>Если вы хотите принудительно включить e10s - чтобы явно повторно включить поддержку сенсорных событий - вам нужно перейти к <code>about:config</code> и создать новое логическое предпочтение <code>browser.tabs.remote.force-enable</code>. Установите значение <code>true</code>, перезапустите браузер, и e10s будет включён независимо от любых других настроек.</p>
diff --git a/files/ru/web/api/touchevent/index.html b/files/ru/web/api/touchevent/index.html
index 2f5fa25eee..d141c8daa5 100644
--- a/files/ru/web/api/touchevent/index.html
+++ b/files/ru/web/api/touchevent/index.html
@@ -23,7 +23,7 @@ translation_of: Web/API/TouchEvent
<dl>
<dt>{{domxref("TouchEvent.TouchEvent", "TouchEvent()")}}</dt>
- <dd>Создает экземпляр <code>TouchEvent</code>.</dd>
+ <dd>Создаёт экземпляр <code>TouchEvent</code>.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
@@ -65,7 +65,7 @@ translation_of: Web/API/TouchEvent
<p>Цель события - тот же экземпляр {{ domxref("Element") }}, что и для события <code>touchstart</code> с соответствующей точкой касания, даже если точка касания переместилась за пределы элемента.</p>
-<p>Точки касания, удаленные с поверхности, содержатся в списке {{ domxref("TouchList") }}, который можно получить через атрибут <code>changedTouches</code> события.</p>
+<p>Точки касания, удалённые с поверхности, содержатся в списке {{ domxref("TouchList") }}, который можно получить через атрибут <code>changedTouches</code> события.</p>
<h3 id="domxrefElementtouchmove_event_touchmove">{{domxref("Element/touchmove_event", "touchmove")}}</h3>
diff --git a/files/ru/web/api/url/createobjecturl/index.html b/files/ru/web/api/url/createobjecturl/index.html
index bff6b425d5..01201cc4b0 100644
--- a/files/ru/web/api/url/createobjecturl/index.html
+++ b/files/ru/web/api/url/createobjecturl/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/URL/createObjectURL
<h2 id="Определение">Определение</h2>
-<p><strong><code>URL.createObjectURL()</code></strong> - статический метод, который создает {{domxref("DOMString")}}, содержащий URL с указанием на объект, заданный как параметр. Время жизни URL связано с {{domxref("document")}} окна в котором он был создан. Новый URL объект может представлять собой {{domxref("File")}} объект или {{domxref("Blob")}} объект.</p>
+<p><strong><code>URL.createObjectURL()</code></strong> - статический метод, который создаёт {{domxref("DOMString")}}, содержащий URL с указанием на объект, заданный как параметр. Время жизни URL связано с {{domxref("document")}} окна в котором он был создан. Новый URL объект может представлять собой {{domxref("File")}} объект или {{domxref("Blob")}} объект.</p>
<p>{{AvailableInWorkers}}</p>
@@ -23,7 +23,7 @@ translation_of: Web/API/URL/createObjectURL
</dl>
<dl>
- <dd>Объект типа {{domxref("File")}} или {{domxref("Blob")}} для которого создается URL объект.</dd>
+ <dd>Объект типа {{domxref("File")}} или {{domxref("Blob")}} для которого создаётся URL объект.</dd>
</dl>
<ul>
@@ -35,7 +35,7 @@ translation_of: Web/API/URL/createObjectURL
<h2 id="Заметки">Заметки</h2>
-<p>При каждом вызове <code>createObjectURL()</code>, создается новый URL объект, даже если он уже был ранее создан для того же самого объекта. Память для каждого из них нужно освобождать с помощью {{domxref("URL.revokeObjectURL()")}}, в том случае, если они больше не нужны. Браузер сделает это автоматически с выгрузкой объекта, тем не менее в целях оптимизации производительности и использования памяти, следует принудительно выгружать их по возможности.</p>
+<p>При каждом вызове <code>createObjectURL()</code>, создаётся новый URL объект, даже если он уже был ранее создан для того же самого объекта. Память для каждого из них нужно освобождать с помощью {{domxref("URL.revokeObjectURL()")}}, в том случае, если они больше не нужны. Браузер сделает это автоматически с выгрузкой объекта, тем не менее в целях оптимизации производительности и использования памяти, следует принудительно выгружать их по возможности.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/usb/requestdevice/index.html b/files/ru/web/api/usb/requestdevice/index.html
index bb162ad242..5ec208774e 100644
--- a/files/ru/web/api/usb/requestdevice/index.html
+++ b/files/ru/web/api/usb/requestdevice/index.html
@@ -43,7 +43,7 @@ translation_of: Web/API/USB/requestDevice
<p>Этот пример запрашивает любое из перечисленных USB-устройств. Обратите внимание, указаны два разных PID. Оба присутствуют в списке фильтров для <code>requestDevice()</code>. При этом браузер покажет окно для выбора и подтверждения доступа к устройству. Только выбранное пользователем устройство будет передано в <code>then()</code>.</p>
-<p>Количество фильтров не определяет количество устройств, показываемых браузером. Например, если найдено только USB-устройство с product ID <code>0xa800</code>, браузер отобразит только одно устройство. Но, если браузер определит два устройства, совпадающих с первым фильтром, и еще одно, совпадающее со вторым, будут показаны все три устройства.</p>
+<p>Количество фильтров не определяет количество устройств, показываемых браузером. Например, если найдено только USB-устройство с product ID <code>0xa800</code>, браузер отобразит только одно устройство. Но, если браузер определит два устройства, совпадающих с первым фильтром, и ещё одно, совпадающее со вторым, будут показаны все три устройства.</p>
<pre class="brush: js notranslate">const filters = [
        {vendorId: 0x1209, productId: 0xa800},
diff --git a/files/ru/web/api/vrdisplay/requestpresent/index.html b/files/ru/web/api/vrdisplay/requestpresent/index.html
index 9537b94035..acdb59197f 100644
--- a/files/ru/web/api/vrdisplay/requestpresent/index.html
+++ b/files/ru/web/api/vrdisplay/requestpresent/index.html
@@ -27,9 +27,9 @@ translation_of: Web/API/VRDisplay/requestPresent
<div>
<ul>
- <li>Если {{domxref("VRDisplayCapabilities.canPresent")}} ложно или если массив объектов VRLayer содержит более чем {{domxref("VRDisplayCapabilities.maxLayers")}} слоев, произойдёт переход в состояние "отклонено".</li>
+ <li>Если {{domxref("VRDisplayCapabilities.canPresent")}} ложно или если массив объектов VRLayer содержит более чем {{domxref("VRDisplayCapabilities.maxLayers")}} слоёв, произойдёт переход в состояние "отклонено".</li>
<li>Если объект {{domxref("VRDisplay")}} уже отображает сцену, то вызов его метода <code>requestPresent()</code> обновит массив отображаемых <code>VRLayer</code> объектов.</li>
- <li>Если объект <code>VRDisplay</code> уже отображает сцену, а вызов метода <code>requestPresent()</code> приведет к возврату Promise в состоянии "отклонено", то отображение сцены прекратится.</li>
+ <li>Если объект <code>VRDisplay</code> уже отображает сцену, а вызов метода <code>requestPresent()</code> приведёт к возврату Promise в состоянии "отклонено", то отображение сцены прекратится.</li>
<li>If <code>requestPresent()</code> is called outside of an engagement gesture the promise will be rejected unless the <code>VRDisplay</code> was already presenting. This engagement gesture is also sufficient to allow <code><a href="/en-US/docs/Web/API/Element/requestPointerLock">requestPointerLock()</a></code> calls until presentation has ended.</li>
</ul>
</div>
diff --git a/files/ru/web/api/vrdisplayevent/index.html b/files/ru/web/api/vrdisplayevent/index.html
index 8b8c2bee90..9847e7e521 100644
--- a/files/ru/web/api/vrdisplayevent/index.html
+++ b/files/ru/web/api/vrdisplayevent/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/VRDisplayEvent
<dl>
<dt>{{domxref("VRDisplayEvent.VRDisplayEvent()")}}</dt>
- <dd>Создает экземпляр объекта VRDisplayEvent.</dd>
+ <dd>Создаёт экземпляр объекта VRDisplayEvent.</dd>
</dl>
<h2 id="Properties">Properties</h2>
diff --git a/files/ru/web/api/vrframedata/index.html b/files/ru/web/api/vrframedata/index.html
index 5fe9d79079..babe98004a 100644
--- a/files/ru/web/api/vrframedata/index.html
+++ b/files/ru/web/api/vrframedata/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/VRFrameData
<dl>
<dt>{{domxref("VRFrameData.VRFrameData()")}}</dt>
- <dd>Создает экземпляр объекта VRFrameData.</dd>
+ <dd>Создаёт экземпляр объекта VRFrameData.</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
diff --git a/files/ru/web/api/web_animations_api/index.html b/files/ru/web/api/web_animations_api/index.html
index bb8ac2a631..7e9f416702 100644
--- a/files/ru/web/api/web_animations_api/index.html
+++ b/files/ru/web/api/web_animations_api/index.html
@@ -6,7 +6,7 @@ translation_of: Web/API/Web_Animations_API
<p>{{DefaultAPISidebar("Веб-анимация")}} {{SeeCompatTable()}}</p>
<div class="summary">
-<p>API веб-анимации позволяет синхронизировать и сроки изменения представления веб-страницы, то есть анимации элементов DOM. Она делает это путем объединения двух моделей: Модель синхронизации и анимации модели.</p>
+<p>API веб-анимации позволяет синхронизировать и сроки изменения представления веб-страницы, то есть анимации элементов DOM. Она делает это путём объединения двух моделей: Модель синхронизации и анимации модели.</p>
</div>
<h2 id="Основные_понятия_и_использование_API">Основные понятия и использование API</h2>
@@ -28,7 +28,7 @@ translation_of: Web/API/Web_Animations_API
<dt>{{Domxref("DocumentTimeline")}}</dt>
<dd>Представляет временные рамки анимации, в том числе временные рамки анимации по умолчанию для документа (через свойство {{domxref("Document.timeline")}}).</dd>
<dt>{{Domxref("AnimationEffectTiming")}}</dt>
- <dd>Объект, содержащий временные свойства, возвращенные {{domxref("KeyframeEffect.timing", "сроки")}} атрибут {{domxref("KeyframeEffect")}}. Он наследует свои свойства от {{domxref("AnimationEffectTimingReadOnly")}}, но в не только чтение формы.</dd>
+ <dd>Объект, содержащий временные свойства, возвращённые {{domxref("KeyframeEffect.timing", "сроки")}} атрибут {{domxref("KeyframeEffect")}}. Он наследует свои свойства от {{domxref("AnimationEffectTimingReadOnly")}}, но в не только чтение формы.</dd>
<dt>{{Domxref("SharedKeyframeList")}}</dt>
<dd>Представляет собой последовательность ключевых кадров , которые могут быть разделены между {{domxref("KeyframeEffect")}} объектов. Используя <code>SharedKeyframeList</code>объекты, несколько <code>KeyframeEffect</code>объектов могут повторно использовать одни и те же ключевые кадры , не заплатив стоимость разбора их несколько раз.</dd>
<dt>{{domxref("AnimationEffectTimingProperties")}}</dt>
@@ -58,7 +58,7 @@ translation_of: Web/API/Web_Animations_API
<h2 id="Веб-анимация_для_чтения_только_интерфейсы">Веб-анимация для чтения только интерфейсы</h2>
-<p>Следующие интерфейсы включены в спецификации для таких целей, как определение функции, используемые в нескольких других местах, или служить в качестве основы для нескольких интерфейсов, которые могут быть использованы в качестве значений одних и тех же свойств. Вы бы не напрямую использовать их в работе веб-разработки, но они могут быть интересны для авторов библиотеки, чтобы понять, как эта технология работает, так что их реализации могут быть более эффективными, или для инженеров браузеров, которые ищут более легкой ссылки, чем спецификация обеспечивает.</p>
+<p>Следующие интерфейсы включены в спецификации для таких целей, как определение функции, используемые в нескольких других местах, или служить в качестве основы для нескольких интерфейсов, которые могут быть использованы в качестве значений одних и тех же свойств. Вы бы не напрямую использовать их в работе веб-разработки, но они могут быть интересны для авторов библиотеки, чтобы понять, как эта технология работает, так что их реализации могут быть более эффективными, или для инженеров браузеров, которые ищут более лёгкой ссылки, чем спецификация обеспечивает.</p>
<dl>
<dt>{{Domxref("AnimationEffectTimingReadOnly")}}</dt>
diff --git a/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html b/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html
index d050b43cb8..e19524852d 100644
--- a/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html
+++ b/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
---
<p>{{DefaultAPISidebar("Web Animations")}}</p>
-<p class="summary">Web Animations API позволяет нам создать анимацию и управлять её воспроизведением с помощью JavaScript. Эта статья будет правильным руководством для старта c веселыми демками и уроками с Алисой в Стране Чудес.</p>
+<p class="summary">Web Animations API позволяет нам создать анимацию и управлять её воспроизведением с помощью JavaScript. Эта статья будет правильным руководством для старта c весёлыми демками и уроками с Алисой в Стране Чудес.</p>
<h2 id="Встречайте_Web_Animations_API">Встречайте Web Animations API</h2>
@@ -18,7 +18,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
<h2 id="Поддержка_Браузеров">Поддержка Браузеров</h2>
-<p>Основы и компоненты Web Animations API, описанные в этой статье доступны в Firefox 48+ и Chrome 36+. Webkit и Edge перешли на  API соответственно, но пока нет полной поддержки во всех браузерах, есть удобная служба проверки <a href="https://github.com/web-animations/web-animations-js">handy maintained polyfill</a> которая тестирует и добавляет ее при необходимости.</p>
+<p>Основы и компоненты Web Animations API, описанные в этой статье доступны в Firefox 48+ и Chrome 36+. Webkit и Edge перешли на  API соответственно, но пока нет полной поддержки во всех браузерах, есть удобная служба проверки <a href="https://github.com/web-animations/web-animations-js">handy maintained polyfill</a> которая тестирует и добавляет её при необходимости.</p>
<h2 id="Написание_CSS_Animations_вместе_с_Web_Animations_API">Написание CSS Animations вместе с Web Animations API</h2>
@@ -26,11 +26,11 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
<h3 id="CSS_версия">CSS версия</h3>
-<p>Вот такая анимация написана в CSS, показывающая, как Алиса падает в кроличью нору, которая ведет в страну чудес (см. полный код на<a href="http://codepen.io/rachelnabors/pen/QyOqqW"> Codepen</a>):</p>
+<p>Вот такая анимация написана в CSS, показывающая, как Алиса падает в кроличью нору, которая ведёт в страну чудес (см. полный код на<a href="http://codepen.io/rachelnabors/pen/QyOqqW"> Codepen</a>):</p>
<p><a href="http://codepen.io/rachelnabors/pen/rxpmJL"><img alt="Alice Tumbling down the rabbit's hole." src="https://mdn.mozillademos.org/files/13843/tumbling-alice_optimized.gif" style="display: block; height: 374px; margin-left: auto; margin-right: auto; width: 700px;"></a></p>
-<p>Заметьте, что фон двигается, Алиса крутится и ее цвет меняется при вращении. Мы собираемся сосредоточиться только на Алисе в этом уроке. Вот упрощенный код CSS, который управляет движением Алисы.</p>
+<p>Заметьте, что фон двигается, Алиса крутится и её цвет меняется при вращении. Мы собираемся сосредоточиться только на Алисе в этом уроке. Вот упрощённый код CSS, который управляет движением Алисы.</p>
<pre class="brush: css notranslate">#alice {
animation: aliceTumbling infinite 3s linear;
@@ -50,7 +50,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
}
}</pre>
-<p>Изменение цвета Алисы и ее вращение в течение 3 секунд при постоянной (линейной) скорости и бесконечном цикле. В <a href="/en-US/docs/Web/CSS/@keyframes">@keyframes</a> блоке мы видим, что 30%  из всего цикла (около 9 секунд), цвет Алисы меняется от черного до насыщенного бордового, а потом снова в черный к концу цикла.</p>
+<p>Изменение цвета Алисы и её вращение в течение 3 секунд при постоянной (линейной) скорости и бесконечном цикле. В <a href="/en-US/docs/Web/CSS/@keyframes">@keyframes</a> блоке мы видим, что 30%  из всего цикла (около 9 секунд), цвет Алисы меняется от чёрного до насыщенного бордового, а потом снова в чёрный к концу цикла.</p>
<h3 id="Движение_в_JavaScript">Движение в JavaScript</h3>
@@ -66,13 +66,13 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
{ transform: 'rotate(360deg) translate3D(-50%, -50%, 0)', color: '#000' }
];</pre>
-<p>Здесь мы используем массив, содержащий несколько объектов. Каждый объект представляет собой код от оригинального CSS. Однако, в отличие от CSS, Web Animations API не нужно назначать точные проценты по анимации для каждого открывающего кода. Он автоматически разделит анимацию на равные части в соответствии с количеством кодов, которые вы ему даете. Это означает, что объект Keyframe с тремя кодами будет воспроизводить средний код 50% времени через каждый цикл анимации если не указано иное.</p>
+<p>Здесь мы используем массив, содержащий несколько объектов. Каждый объект представляет собой код от оригинального CSS. Однако, в отличие от CSS, Web Animations API не нужно назначать точные проценты по анимации для каждого открывающего кода. Он автоматически разделит анимацию на равные части в соответствии с количеством кодов, которые вы ему даёте. Это означает, что объект Keyframe с тремя кодами будет воспроизводить средний код 50% времени через каждый цикл анимации если не указано иное.</p>
-<p>Если мы хотим, чтобы определенный набор кода смещался относительного другого кода, мы можем указать смещение непосредственно на объекте который будет меняться, отделив значение запятой. В приведенном выше примере видно, чтобы цвет Алисы менялся на 30%, а не на 50% всего цикла, мы задаем смещение: 0,333.</p>
+<p>Если мы хотим, чтобы определённый набор кода смещался относительного другого кода, мы можем указать смещение непосредственно на объекте который будет меняться, отделив значение запятой. В приведённом выше примере видно, чтобы цвет Алисы менялся на 30%, а не на 50% всего цикла, мы задаём смещение: 0,333.</p>
<p>Там должно быть как минимум два кадра (представляющих начало и конец анимации). Если в вашем списке keyframe только одна запись, {{domxref("Element.animate()")}} то анимация выполняться не будет, вы получите ошибку NotSupportedError exception.</p>
-<p>И так повторим, код равномерно распределен по умолчанию, если не указано смещение. Удобно, не так ли?</p>
+<p>И так повторим, код равномерно распределён по умолчанию, если не указано смещение. Удобно, не так ли?</p>
<h4 id="Представление_свойства_времени.">Представление свойства времени.</h4>
@@ -87,7 +87,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
<ul>
<li>Во-первых, длительность в миллисекундах, в отличии от секунд - 3000, а не 3с. Как {{domxref("WindowTimers.setTimeout()")}} и {{domxref("Window.requestAnimationFrame()")}}, Web Animations API использует только миллисекунды.</li>
- <li>Во-вторых, что вы заметили, что он итерационный (повторяется), а не счетчик повторений.</li>
+ <li>Во-вторых, что вы заметили, что он итерационный (повторяется), а не счётчик повторений.</li>
</ul>
<div class="note">
@@ -96,7 +96,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
<h4 id="Собираем_части_вместе.">Собираем части вместе.</h4>
-<p>Сейчас соберем все части вместе используя {{domxref("Element.animate()")}} метод:</p>
+<p>Сейчас соберём все части вместе используя {{domxref("Element.animate()")}} метод:</p>
<pre class="brush: js notranslate">document.getElementById("alice").animate(
aliceTumbling,
@@ -105,7 +105,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
<p>И вуаля, анимация работает(смотрите готовый вариант на <a href="http://codepen.io/rachelnabors/pen/rxpmJL">version on Codepen</a>).</p>
-<p>The <code>animate()</code> метод может быть применен на любой DOM-элемент, который может быть анимирован с помощью CSS. И он может быть записан несколькими способами. Вместо того, чтобы делить объекты на ключевые кадры и временные характеристики, мы могли бы просто передать свои значения непосредственно вот так:</p>
+<p>The <code>animate()</code> метод может быть применён на любой DOM-элемент, который может быть анимирован с помощью CSS. И он может быть записан несколькими способами. Вместо того, чтобы делить объекты на ключевые кадры и временные характеристики, мы могли бы просто передать свои значения непосредственно вот так:</p>
<pre class="brush: js notranslate">document.getElementById("alice").animate(
[
@@ -118,7 +118,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
}
);</pre>
-<p>Более того, если мы хотели указать только длительность анимации, а не ее повторение (по умолчанию анимации повторяется один раз), мы могли бы пройтись только по миллисекундам:</p>
+<p>Более того, если мы хотели указать только длительность анимации, а не её повторение (по умолчанию анимации повторяется один раз), мы могли бы пройтись только по миллисекундам:</p>
<pre class="brush: js notranslate">document.getElementById("alice").animate(
[
@@ -133,7 +133,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
<p><a href="http://codepen.io/rachelnabors/pen/PNYGZQ?editors=0010"><img alt="Playing the growing and shrinking game with Alice." src="https://mdn.mozillademos.org/files/13845/growing-shrinking_article_optimized.gif" style="display: block; height: 374px; margin-left: auto; margin-right: auto; width: 700px;"></a></p>
-<p>В этой игре Алиса меняется в росте, она то растет, то уменьшается, а контролируем мы этот процесс с помощью  бутылки и кекса. Каждый из них имеют свою анимацию.</p>
+<p>В этой игре Алиса меняется в росте, она то растёт, то уменьшается, а контролируем мы этот процесс с помощью  бутылки и кекса. Каждый из них имеют свою анимацию.</p>
<h3 id="Пауза_и_проигрывание_анимации.">Пауза и проигрывание анимации.</h3>
@@ -149,7 +149,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API
duration: aliceChange.effect.timing.duration / 2
});</pre>
-<p>Метод {{domxref("Element.animate()")}} будет выполняться сразу же как начнется игра. Чтобы предотвратить автоматическое поедание кекса до того, как пользователь на него нажмет, мы вызываем {{domxref("Animation.pause()")}} сразу же как игра открывается, например так:</p>
+<p>Метод {{domxref("Element.animate()")}} будет выполняться сразу же как начнётся игра. Чтобы предотвратить автоматическое поедание кекса до того, как пользователь на него нажмёт, мы вызываем {{domxref("Animation.pause()")}} сразу же как игра открывается, например так:</p>
<pre class="brush: js notranslate">nommingCake.pause();</pre>
@@ -180,11 +180,11 @@ cake.addEventListener("touchstart", growAlice, false);</pre>
<ul>
<li>{{domxref("Animation.finish()")}} перейти в конец анимации.</li>
- <li>{{domxref("Animation.cancel()")}} прервать анимацию и удалить ее эффект.</li>
- <li>{{domxref("Animation.reverse()")}} устанавливать скорость анимации если установить ({{domxref("Animation.playbackRate")}} отрицательное значение, то анимация пойдет в обратном порядке.</li>
+ <li>{{domxref("Animation.cancel()")}} прервать анимацию и удалить её эффект.</li>
+ <li>{{domxref("Animation.reverse()")}} устанавливать скорость анимации если установить ({{domxref("Animation.playbackRate")}} отрицательное значение, то анимация пойдёт в обратном порядке.</li>
</ul>
-<p>Давайте посмотрим на первый playbackRate— отрицательное значение будет запускать анимацию в обратном направлении. Когда Алиса пьет из бутылки, она становится меньше. Это происходит потому, что бутылка изменяет ее анимацию playbackRate от 1 до -1:</p>
+<p>Давайте посмотрим на первый playbackRate— отрицательное значение будет запускать анимацию в обратном направлении. Когда Алиса пьёт из бутылки, она становится меньше. Это происходит потому, что бутылка изменяет её анимацию playbackRate от 1 до -1:</p>
<pre class="brush: js notranslate">var shrinkAlice = function() {
aliceChange.playbackRate = -1;
@@ -194,11 +194,11 @@ cake.addEventListener("touchstart", growAlice, false);</pre>
bottle.addEventListener("mousedown", shrinkAlice, false);
bottle.addEventListener("touchstart", shrinkAlice, false);</pre>
-<p>В <a href="https://en.wikipedia.org/wiki/Through_the_Looking-Glass">Through the Looking-Glass</a>, Алиса путешествует по миру, где должна бежать, чтобы оставаться на месте и бежать в двое быстрее, чтобы двигаться вперед. Например в гонке с Красной королевой, Алиса и Красная королева бегут, чтобы оставаться на месте (проверить полный код можно на <a href="http://codepen.io/rachelnabors/pen/PNGGaV">full code on Codepen</a>):</p>
+<p>В <a href="https://en.wikipedia.org/wiki/Through_the_Looking-Glass">Through the Looking-Glass</a>, Алиса путешествует по миру, где должна бежать, чтобы оставаться на месте и бежать в двое быстрее, чтобы двигаться вперёд. Например в гонке с Красной королевой, Алиса и Красная королева бегут, чтобы оставаться на месте (проверить полный код можно на <a href="http://codepen.io/rachelnabors/pen/PNGGaV">full code on Codepen</a>):</p>
<p><a href="http://codepen.io/rachelnabors/pen/PNGGaV"><img alt="Alice and the Red Queen race to get to the next square in this game." src="https://mdn.mozillademos.org/files/13847/red-queen-race_optimized.gif" style="display: block; height: 342px; margin-left: auto; margin-right: auto; width: 640px;"></a></p>
-<p>Так как маленькие дети легко устают, в отличии от шахматных фигур, Алиса постоянно замедляется. Мы отобразили это в коде путем ослабления (уменьшения скорости) playbackRate анимации.</p>
+<p>Так как маленькие дети легко устают, в отличии от шахматных фигур, Алиса постоянно замедляется. Мы отобразили это в коде путём ослабления (уменьшения скорости) playbackRate анимации.</p>
<pre class="brush: js notranslate">setInterval( function() {
@@ -209,7 +209,7 @@ bottle.addEventListener("touchstart", shrinkAlice, false);</pre>
}, 3000);</pre>
-<p>Но постоянно нажимая на них мышью, мы заставляем их ускориться путем умножения playbackRate (скорости анимации)</p>
+<p>Но постоянно нажимая на них мышью, мы заставляем их ускориться путём умножения playbackRate (скорости анимации)</p>
<pre class="brush: js notranslate">var goFaster = function() {
@@ -224,7 +224,7 @@ document.addEventListener("touchstart", goFaster);</pre>
<h2 id="Получение_информации_из_анимации">Получение информации из анимации</h2>
-<p>Представьте, что мы могли бы использовать playbackRate, как улучшения доступности сайта для пользователей с вестибулярными расстройствами, позволяя им замедлить анимацию на всех страницах сайта. Это невозможно сделать с помощью CSS без пересчета длительности в каждом правиле CSS, но с веб-анимации API, мы могли бы использовать в будущем (пока не поддерживается в браузерах!) Метод {{domxref("document.getAnimations()")}} систему циклов по каждой анимации на странице и сократить скорость анимации вот так:</p>
+<p>Представьте, что мы могли бы использовать playbackRate, как улучшения доступности сайта для пользователей с вестибулярными расстройствами, позволяя им замедлить анимацию на всех страницах сайта. Это невозможно сделать с помощью CSS без пересчёта длительности в каждом правиле CSS, но с веб-анимации API, мы могли бы использовать в будущем (пока не поддерживается в браузерах!) Метод {{domxref("document.getAnimations()")}} систему циклов по каждой анимации на странице и сократить скорость анимации вот так:</p>
<pre class="brush: js notranslate">document.getAnimations().forEach(
function (animation) {
@@ -250,21 +250,21 @@ document.addEventListener("touchstart", goFaster);</pre>
fill: 'both'
});</pre>
-<p>Изменение размера Алисы в два раза происходит за 8 секунд. Затем мы останавливаем ее:</p>
+<p>Изменение размера Алисы в два раза происходит за 8 секунд. Затем мы останавливаем её:</p>
<pre class="brush: js notranslate">aliceChange.pause();</pre>
-<p>Если бы оставили ее на паузе в начале анимации , то Алиса увеличилась бы в два раза, когда выпила бы всю бутылку. Мы хотим остановить ее анимацию "воспроизведение" в середине, когда она уже на половину выполнена. Мы могли бы это сделать, установив {{domxref("Animation.currentTime")}} 4 секунды, вот так:</p>
+<p>Если бы оставили её на паузе в начале анимации , то Алиса увеличилась бы в два раза, когда выпила бы всю бутылку. Мы хотим остановить её анимацию "воспроизведение" в середине, когда она уже на половину выполнена. Мы могли бы это сделать, установив {{domxref("Animation.currentTime")}} 4 секунды, вот так:</p>
<pre class="brush: js notranslate">aliceChange.currentTime = 4000;</pre>
-<p>Но во время работы над этой анимацией мы можем сильно увеличить ее продолжительность. Разве не лучше установить динамическое изменение времени (currentTime), тогда нам не придется делать два обновления за один раз. Мы можем это сделать с помощью ссылки на изменение свойства размера Алисы (aliceChange) {{domxref("Animation.effect")}} который возвращает все детали и действующие эффекты, содержащиеся в объекте, на Алису:</p>
+<p>Но во время работы над этой анимацией мы можем сильно увеличить её продолжительность. Разве не лучше установить динамическое изменение времени (currentTime), тогда нам не придётся делать два обновления за один раз. Мы можем это сделать с помощью ссылки на изменение свойства размера Алисы (aliceChange) {{domxref("Animation.effect")}} который возвращает все детали и действующие эффекты, содержащиеся в объекте, на Алису:</p>
<pre class="brush: js notranslate">aliceChange.currentTime = aliceChange.effect.timing.duration / 2;</pre>
-<p>эффекты позволяют нам получить доступ к анимации keyframe (кадров) и синхронности объектов - aliceChange.effect.timing , указывающий на время Алисиных элементов (которые имеют тип {{domxref("AnimationEffectTimingReadOnly")}}) — в этом содержится ее {{domxref("AnimationEffectTimingReadOnly.duration")}}. Мы можем распределить ее длительность на два раза, чтобы получить среднюю точку во временной шкале для установки нормального роста.</p>
+<p>эффекты позволяют нам получить доступ к анимации keyframe (кадров) и синхронности объектов - aliceChange.effect.timing , указывающий на время Алисиных элементов (которые имеют тип {{domxref("AnimationEffectTimingReadOnly")}}) — в этом содержится её {{domxref("AnimationEffectTimingReadOnly.duration")}}. Мы можем распределить её длительность на два раза, чтобы получить среднюю точку во временной шкале для установки нормального роста.</p>
-<p>Теперь мы можем запустить ее в обратном порядке и играться анимацией в любом направлении, чтобы заставить ее расти или уменьшаться</p>
+<p>Теперь мы можем запустить её в обратном порядке и играться анимацией в любом направлении, чтобы заставить её расти или уменьшаться</p>
<pre class="brush: js notranslate">var drinking = document.getElementById('liquid').animate(
[
@@ -280,7 +280,7 @@ drinking.pause();</pre>
<p>Теперь все три анимации связаны только с одной продолжительности, и мы можем легко переходить из одного места.</p>
-<p>Мы также можем использовать веб-анимации API, чтобы выяснить Текущее время анимации. Игра заканчивается, когда вы бежите от съеденного торта или выпитой бутылки. Изображение у игрока будет зависеть от анимации Алисы. Стала ли она слишком большой на фоне крошечной двери и не может в нее пройти или слишком маленькой и не может достать ключ, чтобы открыть дверь. Мы можем выяснить, стала она большой или маленький в конце ее анимация, получая текущее время ее анимации <code><a href="/en-US/docs/Web/API/Animation/currentTime">currentTime</a></code> и разделив ее на activeDuration:</p>
+<p>Мы также можем использовать веб-анимации API, чтобы выяснить Текущее время анимации. Игра заканчивается, когда вы бежите от съеденного торта или выпитой бутылки. Изображение у игрока будет зависеть от анимации Алисы. Стала ли она слишком большой на фоне крошечной двери и не может в неё пройти или слишком маленькой и не может достать ключ, чтобы открыть дверь. Мы можем выяснить, стала она большой или маленький в конце её анимация, получая текущее время её анимации <code><a href="/en-US/docs/Web/API/Animation/currentTime">currentTime</a></code> и разделив её на activeDuration:</p>
<pre class="brush: js notranslate">var endGame = function() {
@@ -334,7 +334,7 @@ aliceChange.onfinish = endGame;
</pre>
-<p>Нравится перспектива? Web Animations API также дает две перспективы: <code><a href="/en-US/docs/Web/API/Animation/onfinish">onfinish</a></code> и <code><a href="/en-US/docs/Web/API/Animation/oncancel">oncancel</a></code>.</p>
+<p>Нравится перспектива? Web Animations API также даёт две перспективы: <code><a href="/en-US/docs/Web/API/Animation/onfinish">onfinish</a></code> и <code><a href="/en-US/docs/Web/API/Animation/oncancel">oncancel</a></code>.</p>
<div class="note">
<p>Эти обещания не полностью поддерживаются в настоящий момент.</p>
diff --git a/files/ru/web/api/web_audio_api/index.html b/files/ru/web/api/web_audio_api/index.html
index ba3df973e4..cb927ca206 100644
--- a/files/ru/web/api/web_audio_api/index.html
+++ b/files/ru/web/api/web_audio_api/index.html
@@ -12,7 +12,7 @@ tags:
translation_of: Web/API/Web_Audio_API
---
<div>
-<p>Web audio API - мощный и многогранный инструмент для манипуляции звуковой составляющей на веб-странице, что дает возможность разработчикам выбрать источники, добавить к ним специальные звуковые эффекты (такие как panning), визуализировать их и многое другое.</p>
+<p>Web audio API - мощный и многогранный инструмент для манипуляции звуковой составляющей на веб-странице, что даёт возможность разработчикам выбрать источники, добавить к ним специальные звуковые эффекты (такие как panning), визуализировать их и многое другое.</p>
</div>
<h2 id="Общие_концепции_и_использование_Web_Audio">Общие концепции и использование Web Audio</h2>
@@ -52,7 +52,7 @@ translation_of: Web/API/Web_Audio_API
<dl>
<dt>{{domxref("AudioContext")}}</dt>
- <dd>AudioContext представляет собой некий аудио обрабатывающий объект, сооруженный из аудио модулей связанных вместе, где каждый является экземпляром класса {{domxref("AudioNode")}}. AudioContext управляет созданием узлов, содержащихся в нём и выполняет обработку или декодирование аудио данных.</dd>
+ <dd>AudioContext представляет собой некий аудио обрабатывающий объект, сооружённый из аудио модулей связанных вместе, где каждый является экземпляром класса {{domxref("AudioNode")}}. AudioContext управляет созданием узлов, содержащихся в нём и выполняет обработку или декодирование аудио данных.</dd>
<dt>{{domxref("AudioNode")}}</dt>
<dd>Интерфейс AudioNode представляет собой некий обрабатывающий  модуль такой как источник аудио  (то есть HTML &lt;audio&gt; или &lt;video&gt; элемент), конечный аудио объект, модуль непосредственной обработки (например фильтр BiquadFilterNode или звуковой контроллер такой как GainNode).</dd>
<dt>{{domxref("AudioParam")}}</dt>
@@ -87,7 +87,7 @@ translation_of: Web/API/Web_Audio_API
<dt>{{domxref("BiquadFilterNode")}}</dt>
<dd><strong><code>BiquadFilterNode </code></strong><code>представляет простой фильтр низкого порядка. Это </code>{{domxref("AudioNode")}} представляющий различные виды фильтров такие как эквалайзер или управление тональностью. <strong><code>BiquadFilterNode</code></strong><code> имеет ровно один вход и один выход.</code></dd>
<dt>{{domxref("ConvolverNode")}}</dt>
- <dd><code><strong>Convolver</strong></code><strong><code>Node</code></strong><strong> </strong>это <span style="line-height: 1.5;">{{domxref("AudioNode")}} выполняющий линейную свертку </span><span style="line-height: 1.5;">AudioBuffer, часто применяется для достижения эффекта реверберации по заданной импульсной характеристике.</span></dd>
+ <dd><code><strong>Convolver</strong></code><strong><code>Node</code></strong><strong> </strong>это <span style="line-height: 1.5;">{{domxref("AudioNode")}} выполняющий линейную свёртку </span><span style="line-height: 1.5;">AudioBuffer, часто применяется для достижения эффекта реверберации по заданной импульсной характеристике.</span></dd>
<dt>{{domxref("DelayNode")}}</dt>
<dd><strong><code>DelayNode</code></strong><strong> </strong>представляет собой линию задержки (<a href="http://en.wikipedia.org/wiki/Digital_delay_line" title="http://en.wikipedia.org/wiki/Digital_delay_line">delay-line</a>); содержит {{domxref("AudioNode")}} вызывающий задержку между выходным и входным сигналом.</dd>
<dt>{{domxref("DynamicsCompressorNode")}}</dt>
diff --git a/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html b/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html
index cd2730006c..63e50078b7 100644
--- a/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html
+++ b/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html
@@ -27,10 +27,10 @@ analyser.connect(distortion);
distortion.connect(audioCtx.destination);</pre>
<div class="note">
-<p><strong>Примечание</strong>: вам не нужно подключать вывод анализатора к другому узлу для его работы, пока его ввод подключен к источнику, либо напрямую, либо через другой узел.</p>
+<p><strong>Примечание</strong>: вам не нужно подключать вывод анализатора к другому узлу для его работы, пока его ввод подключён к источнику, либо напрямую, либо через другой узел.</p>
</div>
-<p>Затем анализатор захватит аудиоданные, используя быстрое преобразование Фурье (БПФ) в определенной частотной области, в зависимости от того, что вы укажете как значение свойства {{ domxref("AnalyserNode.fftSize") }} (если свойство не задано, то значение по умолчанию равно 2048).</p>
+<p>Затем анализатор захватит аудиоданные, используя быстрое преобразование Фурье (БПФ) в определённой частотной области, в зависимости от того, что вы укажете как значение свойства {{ domxref("AnalyserNode.fftSize") }} (если свойство не задано, то значение по умолчанию равно 2048).</p>
<div class="note">
<p><strong>Примечание</strong>: Вы так же можете указать значения минимума и максимума для диапазона масштабирования данных БПФ, используя {{ domxref("AnalyserNode.minDecibels") }} и {{ domxref("AnalyserNode.maxDecibels") }}, и разные константы усреднения данных с помощью {{ domxref("AnalyserNode.smoothingTimeConstant") }}. Прочтите эти страницы, чтобы получить больше информации о том как их использовать.</p>
@@ -38,9 +38,9 @@ distortion.connect(audioCtx.destination);</pre>
<p>Чтобы получить данные, Вам нужно использовать методы {{ domxref("AnalyserNode.getFloatFrequencyData()") }} и {{ domxref("AnalyserNode.getByteFrequencyData()") }}, чтобы получить данные о частоте, и {{ domxref("AnalyserNode.getByteTimeDomainData()") }} и {{ domxref("AnalyserNode.getFloatTimeDomainData()") }} чтобы получить данные о форме волны.</p>
-<p>Эти методы копируют данные в указанный массив, поэтому Вам необходимо создать новый массив для хранения данных, прежде чем вызывать эти функции . Результат первой из них - числа типа float32, второй и третьей - uint8, поэтому стандартный массив JavaScript не подойдет для их хранения — следует использовать массивы {{ domxref("Float32Array") }} или {{ domxref("Uint8Array") }}, в зависимости от нужных Вам данных.</p>
+<p>Эти методы копируют данные в указанный массив, поэтому Вам необходимо создать новый массив для хранения данных, прежде чем вызывать эти функции . Результат первой из них - числа типа float32, второй и третьей - uint8, поэтому стандартный массив JavaScript не подойдёт для их хранения — следует использовать массивы {{ domxref("Float32Array") }} или {{ domxref("Uint8Array") }}, в зависимости от нужных Вам данных.</p>
-<p>Например, если параметр AnalyserNode.fftSize установлен на 2048, мы возвращаем значение {{ domxref("AnalyserNode.frequencyBinCount") }}, равное половине fft, затем вызываем Uint8Array() с frequencyBinCount в качестве длины — столько измерений мы произведем для данного размера fft.</p>
+<p>Например, если параметр AnalyserNode.fftSize установлен на 2048, мы возвращаем значение {{ domxref("AnalyserNode.frequencyBinCount") }}, равное половине fft, затем вызываем Uint8Array() с frequencyBinCount в качестве длины — столько измерений мы произведём для данного размера fft.</p>
<pre class="brush: js notranslate">analyser.fftSize = 2048;
var bufferLength = analyser.frequencyBinCount;
@@ -95,7 +95,7 @@ var dataArray = new Uint8Array(bufferLength);</pre>
<pre class="brush: js notranslate"> var sliceWidth = WIDTH * 1.0 / bufferLength;
var x = 0;</pre>
-<p>В цикле, мы задаем позицию небольшого отрезка волны для каждой точки в буфере на высоте, основанной на значении массива в этой точке, а затем перемещаем линию туда, где должен быть нарисован следующий отрезок:</p>
+<p>В цикле, мы задаём позицию небольшого отрезка волны для каждой точки в буфере на высоте, основанной на значении массива в этой точке, а затем перемещаем линию туда, где должен быть нарисован следующий отрезок:</p>
<pre class="brush: js notranslate"> for(var i = 0; i &lt; bufferLength; i++) {
@@ -127,9 +127,9 @@ var dataArray = new Uint8Array(bufferLength);</pre>
<h2 id="Создание_частотной_гистограммы">Создание частотной гистограммы</h2>
-<p>Еще одна визуализация, которую можно создать, - это частотные диаграммы (такие, как строит Winamp). В проекте Voice-change-O-matic есть реализация такой диаграммы. Давайте посмотрим на нее.</p>
+<p>Ещё одна визуализация, которую можно создать, - это частотные диаграммы (такие, как строит Winamp). В проекте Voice-change-O-matic есть реализация такой диаграммы. Давайте посмотрим на нее.</p>
-<p>Сначала мы снова создаем анализатор и массив для данных, затем очищаем холст при помощи <code>clearRect()</code>. Единственное отличие от того, что мы делали раньше - ы том, что мы можем установить намного меньший размер fft. Таким образом, каждый столбец в диаграмме будет выглядеть как столбец, а не как тонкая полоска.</p>
+<p>Сначала мы снова создаём анализатор и массив для данных, затем очищаем холст при помощи <code>clearRect()</code>. Единственное отличие от того, что мы делали раньше - ы том, что мы можем установить намного меньший размер fft. Таким образом, каждый столбец в диаграмме будет выглядеть как столбец, а не как тонкая полоска.</p>
<pre class="brush: js notranslate"> analyser.fftSize = 256;
var bufferLength = analyser.frequencyBinCount;
@@ -138,7 +138,7 @@ var dataArray = new Uint8Array(bufferLength);</pre>
canvasCtx.clearRect(0, 0, WIDTH, HEIGHT);</pre>
-<p>Затем мы запускаем функцию <code>draw()</code>  и задаем цикл при помощи <code>requestAnimationFrame()</code> таким образом, чтобы в каждом кадре анимации данные обновлялись.</p>
+<p>Затем мы запускаем функцию <code>draw()</code>  и задаём цикл при помощи <code>requestAnimationFrame()</code> таким образом, чтобы в каждом кадре анимации данные обновлялись.</p>
<pre class="brush: js notranslate"> function draw() {
drawVisual = requestAnimationFrame(draw);
@@ -148,9 +148,9 @@ var dataArray = new Uint8Array(bufferLength);</pre>
canvasCtx.fillStyle = 'rgb(0, 0, 0)';
canvasCtx.fillRect(0, 0, WIDTH, HEIGHT);</pre>
-<p>Затем мы устанавливаем значение <code>barWidth</code> , равное ширине холста, деленной на количество столбцов (длину буфера). Однако, мы домножаем ширину на 2.5, поскольку на большинстве частот звука не будет, поскольку большинство звуков, которые мы слышим в повседневной жизни, находятся в определенных, достаточно низких, диапазонах частот. Нам нет смысла показывать множество пустых частот, поэтому мы просто сдвигаем столбцы, соответствующие наиболее распространенным частотам.</p>
+<p>Затем мы устанавливаем значение <code>barWidth</code> , равное ширине холста, делённой на количество столбцов (длину буфера). Однако, мы домножаем ширину на 2.5, поскольку на большинстве частот звука не будет, поскольку большинство звуков, которые мы слышим в повседневной жизни, находятся в определённых, достаточно низких, диапазонах частот. Нам нет смысла показывать множество пустых частот, поэтому мы просто сдвигаем столбцы, соответствующие наиболее распространённым частотам.</p>
-<p>Мы также устанавливаем значение переменных <code>barHeight</code> и <code>x</code> , задающей то, где на холсте должен быть размещен каждый столбец.</p>
+<p>Мы также устанавливаем значение переменных <code>barHeight</code> и <code>x</code> , задающей то, где на холсте должен быть размещён каждый столбец.</p>
<pre class="brush: js notranslate"> var barWidth = (WIDTH / bufferLength) * 2.5;
var barHeight;
@@ -174,7 +174,7 @@ var dataArray = new Uint8Array(bufferLength);</pre>
<pre class="brush: js notranslate"> draw();</pre>
-<p>Этот код дает нам следующий результат:</p>
+<p>Этот код даёт нам следующий результат:</p>
<p><img alt="a series of red bars in a bar graph, showing intensity of different frequencies in an audio signal" src="https://mdn.mozillademos.org/files/7975/bar-graph.png" style="height: 157px; width: 1260px;"></p>
diff --git a/files/ru/web/api/web_authentication_api/index.html b/files/ru/web/api/web_authentication_api/index.html
index d7951c18d6..4407249491 100644
--- a/files/ru/web/api/web_authentication_api/index.html
+++ b/files/ru/web/api/web_authentication_api/index.html
@@ -11,11 +11,11 @@ translation_of: Web/API/Web_Authentication_API
<p>API Web Authentication (также называемое WebAuthn) использует {{interwiki("wikipedia", "Public-key_cryptography", "ассиметричную криптографию (систему с открытым ключом)")}} вместо паролей или SMS-сообщений для регистрации, входа и {{interwiki("wikipedia", "Multi-factor_authentication", "двухфакторной аутентификации")}} на веб-сайтах. Это устраняет многие значительные проблемы безопасности, такие как {{interwiki("wikipedia", "Phishing", "фишинг")}}, {{interwiki("wikipedia", "Data_breach", "утечки данных")}} и атаки на SMS или иные методы двухфакторной аутентификации, при этом сильно упрощая использование, т.к. пользователям не нужно запоминать десятки сложных паролей.</p>
-<p>На многих сайтах уже есть страницы для регистрации и входа в существующие учетные записи, и Web Authentication API может быть как заменой, так и дополнением для них. Как и остальные виды <a href="/en-US/docs/Web/API/Credential_Management_API">Credential Management API</a>, Web Authentication API содержит два базовых метода: для регистрации и для входа:</p>
+<p>На многих сайтах уже есть страницы для регистрации и входа в существующие учётные записи, и Web Authentication API может быть как заменой, так и дополнением для них. Как и остальные виды <a href="/en-US/docs/Web/API/Credential_Management_API">Credential Management API</a>, Web Authentication API содержит два базовых метода: для регистрации и для входа:</p>
<ul>
- <li>{{domxref("CredentialsContainer.create()", "navigator.credentials.create()")}} - при использовании с опцией <code>publicKey</code> создает новый набор учетных данных для регистрации нового аккаунта или добавления пары ключей к уже существующему.</li>
- <li>{{domxref("CredentialsContainer.get()", "navigator.credentials.get()")}} - при использовании с опцией <code>publicKey</code> использует существующий набор учетных данных для аутентификации в сервисе в качестве основного способа входа или второго фактора.</li>
+ <li>{{domxref("CredentialsContainer.create()", "navigator.credentials.create()")}} - при использовании с опцией <code>publicKey</code> создаёт новый набор учётных данных для регистрации нового аккаунта или добавления пары ключей к уже существующему.</li>
+ <li>{{domxref("CredentialsContainer.get()", "navigator.credentials.get()")}} - при использовании с опцией <code>publicKey</code> использует существующий набор учётных данных для аутентификации в сервисе в качестве основного способа входа или второго фактора.</li>
</ul>
<p><strong>Обратите внимание</strong>, и <code>create()</code>, и <code>get()</code> работают только в <a href="/en-US/docs/Web/Security/Secure_Contexts">Secure Context</a> (например, когда подключение к серверу происходит через https или сервер работает на localhost).</p>
@@ -43,8 +43,8 @@ translation_of: Web/API/Web_Authentication_API
<li><strong>Приложение запрашивает регистрацию</strong> - The application makes the initial registration request. The protocol and format of this request is outside of the scope of the Web Authentication API.</li>
<li><strong>Server Sends Challenge, User Info, and Relying Party Info</strong> - The server sends a challenge, user information, and relying party information to the JavaScript program. The protocol for communicating with the server is not specified and is outside of the scope of the Web Authentication API. Typically, server communications would be <a href="/en-US/docs/Glossary/REST">REST</a> over https (probably using <a href="/en-US/docs/User:maybe/webidl_mdn/XMLHttpRequest_API">XMLHttpRequest</a> or <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a>), but they could also be <a href="/en-US/docs/Glossary/SOAP">SOAP</a>, <a href="https://tools.ietf.org/html/rfc2549">RFC 2549</a> or nearly any other protocol provided that the protocol is secure. The parameters received from the server will be passed to the <a href="/en-US/docs/Web/API/CredentialsContainer/create">create()</a> call, typically with little or no modification and returns a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a> that will resolve to a {{domxref("PublicKeyCredential")}} containing an {{domxref("AuthenticatorAttestationResponse")}}. <strong>Note that it is absolutely critical that the challenge be a buffer of random information (at least 16 bytes) and it MUST be generated on the server in order to ensure the security of the registration process.</strong></li>
<li><strong>Браузер вызывает authenticatorMakeCredential() для аутентификатора</strong> - Internally, the browser will validate the parameters and fill in any defaults, which become the {{domxref("AuthenticatorResponse.clientDataJSON")}}. One of the most important parameters is the origin, which is recorded as part of the clientData so that the origin can be verified by the server later. The parameters to the create() call are passed to the authenticator, along with a SHA-256 hash of the clientDataJSON (only a hash is sent because the link to the authenticator may be a low-bandwidth NFC or Bluetooth link and the authenticator is just going to sign over the hash to ensure that it isn't tampered with).</li>
- <li><strong>Аутентификатор создает новую пару ключей и Attestation</strong> - Before doing anything, the authenticator will typically ask for some form of user verification. This could be entering a PIN, using a fingerprint, doing an iris scan, etc. to prove that the user is present and consenting to the registration. After the user verification, the authenticator will create a new asymmetric key pair and safely store the private key for future reference. The public key will become part of the attestation, which the authenticator will sign over with a private key that was burned into the authenticator during its manufacturing process and that has a certificate chain that can be validated back to a root of trust.</li>
- <li><strong>Аутентификатор передает информацию в браузер</strong> - The new public key, a globally unique credential id, and other attestation data are returned to the browser where they become the attestationObject.</li>
+ <li><strong>Аутентификатор создаёт новую пару ключей и Attestation</strong> - Before doing anything, the authenticator will typically ask for some form of user verification. This could be entering a PIN, using a fingerprint, doing an iris scan, etc. to prove that the user is present and consenting to the registration. After the user verification, the authenticator will create a new asymmetric key pair and safely store the private key for future reference. The public key will become part of the attestation, which the authenticator will sign over with a private key that was burned into the authenticator during its manufacturing process and that has a certificate chain that can be validated back to a root of trust.</li>
+ <li><strong>Аутентификатор передаёт информацию в браузер</strong> - The new public key, a globally unique credential id, and other attestation data are returned to the browser where they become the attestationObject.</li>
<li><strong>Браузер создаёт итоговый набор данных, приложение отвечает серверу</strong> - The create() Promise resolves to an {{domxref("PublicKeyCredential")}}, which has a {{domxref("PublicKeyCredential.rawId")}} that is the globally unique credential id along with a response that is the {{domxref("AuthenticatorAttestationResponse")}} containing the {{domxref("AuthenticatorResponse.clientDataJSON")}} and {{domxref("AuthenticatorAttestationResponse.attestationObject")}}. The {{domxref("PublicKeyCredential")}} is sent back to the server using any desired formatting and protocol (note that the ArrayBuffer properties need to be be base64 encoded or similar).</li>
<li><strong>Сервер проверят и завершает регистрацию</strong> - Finally, the server is required to perform a series of checks to ensure that the registration was complete and not tampered with. These include:
<ol>
@@ -67,8 +67,8 @@ translation_of: Web/API/Web_Authentication_API
<li><strong>Приложение запрашивает аутентификацию</strong> - The application makes the initial authentication request. The protocol and format of this request is outside of the scope of the Web Authentication API.</li>
<li><strong>Server Sends Challenge</strong> - The server sends a challenge to the JavaScript program. The protocol for communicating with the server is not specified and is outside of the scope of the Web Authentication API. Typically, server communications would be <a href="/en-US/docs/Glossary/REST">REST</a> over https (probably using <a href="/en-US/docs/User:maybe/webidl_mdn/XMLHttpRequest_API">XMLHttpRequest</a> or <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a>), but they could also be <a href="/en-US/docs/Glossary/SOAP">SOAP</a>, <a href="https://tools.ietf.org/html/rfc2549">RFC 2549</a> or nearly any other protocol provided that the protocol is secure. The parameters received from the server will be passed to the <a href="/en-US/docs/Web/API/CredentialsContainer/get">get()</a> call, typically with little or no modification. <strong>Note that it is absolutely critical that the challenge be a buffer of random information (at least 16 bytes) and it MUST be generated on the server in order to ensure the security of the authentication process.</strong></li>
<li><strong>Браузер вызывает authenticatorGetCredential() для аутентификатора</strong> - Internally, the browser will validate the parameters and fill in any defaults, which become the {{domxref("AuthenticatorResponse.clientDataJSON")}}. One of the most important parameters is the origin, which recorded as part of the clientData so that the origin can be verified by the server later. The parameters to the get() call are passed to the authenticator, along with a SHA-256 hash of the clientDataJSON (only a hash is sent because the link to the authenticator may be a low-bandwidth NFC or Bluetooth link and the authenticator is just going to sign over the hash to ensure that it isn't tampered with).</li>
- <li><strong>Аутентификатор создает подпись</strong> - The authenticator finds a credential for this service that matches the Relying Party ID and prompts a user to consent to the authentication. Assuming both of those steps are successful, the authenticator will create a new assertion by signing over the clientDataHash and authenticatorData with the private key generated for this account during the registration call.</li>
- <li><strong>Аутентификатор передает информацию в браузер</strong> - The authenticator returns the authenticatorData and assertion signature back to the browser.</li>
+ <li><strong>Аутентификатор создаёт подпись</strong> - The authenticator finds a credential for this service that matches the Relying Party ID and prompts a user to consent to the authentication. Assuming both of those steps are successful, the authenticator will create a new assertion by signing over the clientDataHash and authenticatorData with the private key generated for this account during the registration call.</li>
+ <li><strong>Аутентификатор передаёт информацию в браузер</strong> - The authenticator returns the authenticatorData and assertion signature back to the browser.</li>
<li><strong>Браузер создаёт итоговый набор данных, приложение отвечает серверу</strong> - The browser resolves the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a> to a {{domxref("PublicKeyCredential")}} with a {{domxref("PublicKeyCredential.response")}} that contains the {{domxref("AuthenticatorAssertionResponse")}}. It is up to the JavaScript application to transmit this data back to the server using any protocol and format of its choice.</li>
<li><strong>Сервер проверят и завершает аутентификацию</strong> - Upon receiving the result of the authentication request, the server performs validation of the response such as:
<ol>
diff --git a/files/ru/web/api/web_speech_api/index.html b/files/ru/web/api/web_speech_api/index.html
index 3398c86aad..1a844c744f 100644
--- a/files/ru/web/api/web_speech_api/index.html
+++ b/files/ru/web/api/web_speech_api/index.html
@@ -14,7 +14,7 @@ translation_of: Web/API/Web_Speech_API
<p>Web Speech API позволяет веб приложениям управлять голосовыми данными. Существует два компонента к этому API:</p>
<ul>
- <li>Распознавание голоса. Доступ обеспечивается через {{domxref("SpeechRecognition")}} интерфейс, который в свою очередь обеспечивает возможность распознавать текст из входящего аудио потока (обычно через устройство распознавания речи в устройстве по умолчанию) и отвечать соответственно. Воспользовавшись конструктором интерфейса вы можете создать новый {{domxref("SpeechRecognition")}} объект, у которого есть ряд событий для обнаружения начала речи через микрофон устройства. {{domxref("SpeechGrammar")}} интерфейс предоставляет контейнер для определенного набора грамматики, которое ваше приложение должно использовать. Грамматика определяется с помощью <a href="http://www.w3.org/TR/jsgf/">JSpeech Grammar Format</a> (<strong>JSGF</strong>.)</li>
+ <li>Распознавание голоса. Доступ обеспечивается через {{domxref("SpeechRecognition")}} интерфейс, который в свою очередь обеспечивает возможность распознавать текст из входящего аудио потока (обычно через устройство распознавания речи в устройстве по умолчанию) и отвечать соответственно. Воспользовавшись конструктором интерфейса вы можете создать новый {{domxref("SpeechRecognition")}} объект, у которого есть ряд событий для обнаружения начала речи через микрофон устройства. {{domxref("SpeechGrammar")}} интерфейс предоставляет контейнер для определённого набора грамматики, которое ваше приложение должно использовать. Грамматика определяется с помощью <a href="http://www.w3.org/TR/jsgf/">JSpeech Grammar Format</a> (<strong>JSGF</strong>.)</li>
<li>Доступ к синтезу речи осуществляется с помощью {{domxref("SpeechSynthesis")}} интерфейса, компонент text-to-speech позволяет приложениям прочесть свой текстовый контент (обычно через дефолтный синтезатор речи устройства). В {{domxref("SpeechSynthesisVoice")}} объектах есть различные типы голоса, и различным частям текста можно назначать   {{domxref("SpeechSynthesisUtterance")}} объекты. Можно начать воспроизведение передав их методу {{domxref("SpeechSynthesis.speak()")}}.</li>
</ul>
diff --git a/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html b/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html
index 27aa08113f..c78a987ba5 100644
--- a/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html
+++ b/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html
@@ -9,11 +9,11 @@ tags:
- Синтез речи
translation_of: Web/API/Web_Speech_API/Using_the_Web_Speech_API
---
-<p class="summary">Web Speech API предоставляет 2 основных типа функционала — <a href="https://developer.mozilla.org/ru/docs/Web/API/SpeechRecognition">распознавание речи пользователя</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis">речевое воспроизведение текста</a>. Это предоставляет новые возможности для взаимодействия с интерфейсом и открывает перед нами новые горизонты создания уникального пользовательского опыта. Эта статья дает краткое описание обоих направлений с примерами кода и ссылкой на работающее приложение онлайн.</p>
+<p class="summary">Web Speech API предоставляет 2 основных типа функционала — <a href="https://developer.mozilla.org/ru/docs/Web/API/SpeechRecognition">распознавание речи пользователя</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis">речевое воспроизведение текста</a>. Это предоставляет новые возможности для взаимодействия с интерфейсом и открывает перед нами новые горизонты создания уникального пользовательского опыта. Эта статья даёт краткое описание обоих направлений с примерами кода и ссылкой на работающее приложение онлайн.</p>
<h2 id="Распознавание_речи">Распознавание речи</h2>
-<p>Механизм распознавания речи способен принимать речевой поток через микрофон устройства, а затем проверять его, используя свои внутренние алгоритмы. Для более точной работы рекомендуется использовать интерфейс <a href="https://developer.mozilla.org/ru/docs/Web/API/SpeechGrammar">SpeechGrammar</a>, предоставляющий контейнер для определенного набора грамматики, которое ваше приложение должно использовать. Грамматика определяется с помощью <a href="https://www.w3.org/TR/jsgf/">JSpeech Grammar Format(JSGF.)</a>.</p>
+<p>Механизм распознавания речи способен принимать речевой поток через микрофон устройства, а затем проверять его, используя свои внутренние алгоритмы. Для более точной работы рекомендуется использовать интерфейс <a href="https://developer.mozilla.org/ru/docs/Web/API/SpeechGrammar">SpeechGrammar</a>, предоставляющий контейнер для определённого набора грамматики, которое ваше приложение должно использовать. Грамматика определяется с помощью <a href="https://www.w3.org/TR/jsgf/">JSpeech Grammar Format(JSGF.)</a>.</p>
<p>После того, как пользовательская речь была распознана, алгоритм возвращает результат (список результатов) в качестве текстовой строки, с которой мы можем продолжить работу.</p>
@@ -33,7 +33,7 @@ translation_of: Web/API/Web_Speech_API/Using_the_Web_Speech_API
<h3 id="Браузерная_поддержка">Браузерная поддержка</h3>
-<p>Поддержка интерфейса еще только распространяется на основные браузеры, и на текущий момент ограничена следующим образом:</p>
+<p>Поддержка интерфейса ещё только распространяется на основные браузеры, и на текущий момент ограничена следующим образом:</p>
<ul>
<li dir="ltr">
@@ -50,7 +50,7 @@ translation_of: Web/API/Web_Speech_API/Using_the_Web_Speech_API
<p>Разметка и стили предельно просты. У нас есть значок микрофона, на который мы можем кликнуть для начала записи, анимация звукозаписи, которая включается после клика, и фоновый контейнер, который будет изменять свой цвет, в зависимости от того, что озвучит пользователь.</p>
-<p>CSS задает простые отзывчивые стили, для корректного отображения и работы на всех устройствах</p>
+<p>CSS задаёт простые отзывчивые стили, для корректного отображения и работы на всех устройствах</p>
<h3 id="JavaScript">JavaScript</h3>
@@ -74,8 +74,8 @@ const SpeechRecognitionEvent = window.SpeechRecognitionEvent || window.webkitSpe
<pre>const colors = {
красный: 'red',
оранжевый: 'orange',
- желтый: 'yellow',
- зеленый: 'green',
+ жёлтый: 'yellow',
+ зелёный: 'green',
голубой: 'blue',
синий: 'darkblue',
фиолетовый: 'violet'
@@ -100,7 +100,7 @@ const grammar = '#JSGF V1.0; grammar colors; public &lt;color&gt; = ' + colorsLi
<p dir="ltr">Вторая строка указывает значение, которое мы хотим распознать. public объявляет, что это общедоступное правило, строка в угловых скобках определяет распознанное имя для этого значения (цвет), а список элементов, следующих за знаком равенства, - это альтернативные варианты, которые будут распознаны и могут быть приняты в качестве возможного значения. Обратите внимание, как каждый из них разделяется вертикальной линией (“|” - “pipe character”).</p>
</li>
<li dir="ltr">
- <p dir="ltr">У вас может быть множество значений, определенных отдельно, как указано выше, и содержащих довольно сложные определения грамматики. Для нашего демонстрационного примера мы делаем все просто.</p>
+ <p dir="ltr">У вас может быть множество значений, определённых отдельно, как указано выше, и содержащих довольно сложные определения грамматики. Для нашего демонстрационного примера мы делаем все просто.</p>
</li>
</ul>
@@ -108,7 +108,7 @@ const grammar = '#JSGF V1.0; grammar colors; public &lt;color&gt; = ' + colorsLi
<p>Следующее, что нужно сделать, это определить экземпляр объекта распознавания речи для управления записью нашего приложения.</p>
-<p dir="ltr">Это делается с помощью конструктора <code>SpeechRecognition()</code>. Мы также создаем новый речевой грамматический список, чтобы содержать нашу грамматику, используя конструктор <code>SpeechGrammarList()</code>.</p>
+<p dir="ltr">Это делается с помощью конструктора <code>SpeechRecognition()</code>. Мы также создаём новый речевой грамматический список, чтобы содержать нашу грамматику, используя конструктор <code>SpeechGrammarList()</code>.</p>
<pre>const recognition = new SpeechRecognition();
const speechRecognitionList = new SpeechGrammarList();</pre>
@@ -118,7 +118,7 @@ const speechRecognitionList = new SpeechGrammarList();</pre>
<pre class="brush: js">speechRecognitionList.addFromString(grammar, 1);
</pre>
-<p dir="ltr">Затем мы добавляем <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechGrammarList">SpeechGrammarList</a></code> к уже созданному объекту распознавания речи, присваивая его значение свойству <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/grammars">SpeechRecognition.grammars</a></code>. Также зададим еще несколько свойств объекту, прежде чем двигаться дальше:</p>
+<p dir="ltr">Затем мы добавляем <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechGrammarList">SpeechGrammarList</a></code> к уже созданному объекту распознавания речи, присваивая его значение свойству <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/grammars">SpeechRecognition.grammars</a></code>. Также зададим ещё несколько свойств объекту, прежде чем двигаться дальше:</p>
<ul>
<li dir="ltr">
@@ -140,14 +140,14 @@ recognition.maxAlternatives = 1;
</pre>
<div class="note">
-<p dir="ltr"><strong>Внимание:</strong>  <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/continuous">SpeechRecognition.continuous</a></code> задает, отслеживаются ли продолжающиеся результаты или только 1 результат, каждый раз, когда запись начата. Это закомментировано, поскольку данное свойство в еще не реализовано в Gecko.</p>
+<p dir="ltr"><strong>Внимание:</strong>  <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/continuous">SpeechRecognition.continuous</a></code> задаёт, отслеживаются ли продолжающиеся результаты или только 1 результат, каждый раз, когда запись начата. Это закомментировано, поскольку данное свойство в ещё не реализовано в Gecko.</p>
<p dir="ltr">Вы можете получить аналогичный результат, просто прекратив распознавание после получения первого результата.</p>
</div>
<h4 id="Запуск_распознавания_речи">Запуск распознавания речи</h4>
-<p>После получения ссылок на DOM-элементы, необходимые нам для обработки пользовательских событий и обновления цвета фона приложения, мы реализуем обработчик <code>onclick</code>, чтобы при нажатии на значок микрофона сервис распознавания речи начинал работу. Запуск происходит путем вызова функции <code>SpeechRecognition.start()</code>.</p>
+<p>После получения ссылок на DOM-элементы, необходимые нам для обработки пользовательских событий и обновления цвета фона приложения, мы реализуем обработчик <code>onclick</code>, чтобы при нажатии на значок микрофона сервис распознавания речи начинал работу. Запуск происходит путём вызова функции <code>SpeechRecognition.start()</code>.</p>
<pre>microphoneIcon.onclick = function() {
recognition.start();
@@ -162,7 +162,7 @@ recognition.onaudiostart = function() {
<h4 id="Получение_и_обработка_результата">Получение и обработка результата</h4>
-<p>После того, как процесс распознавания речи был запущен, есть много обработчиков событий, которые могут быть использованы для работы с результатом и другой сопутствующей информацией (см. <a href="https://developer.mozilla.org/ru/docs/Web/API/SpeechRecognition#%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B8_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9">Список обработчиков событий SpeechRecognition</a>.) Наиболее распространенный, который вы, вероятно, и будете использовать, это <a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/onresult">SpeechRecognition.onresult</a>, который запускается сразу после получения успешного результата. Значение цвета получаем вызовом функции <code>getColor()</code></p>
+<p>После того, как процесс распознавания речи был запущен, есть много обработчиков событий, которые могут быть использованы для работы с результатом и другой сопутствующей информацией (см. <a href="https://developer.mozilla.org/ru/docs/Web/API/SpeechRecognition#%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B8_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9">Список обработчиков событий SpeechRecognition</a>.) Наиболее распространённый, который вы, вероятно, и будете использовать, это <a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/onresult">SpeechRecognition.onresult</a>, который запускается сразу после получения успешного результата. Значение цвета получаем вызовом функции <code>getColor()</code></p>
<pre>function getColor(speechResult) {
  for (let index = 0; index &lt; colorsList.length; index += 1) {
@@ -182,7 +182,7 @@ recognition.onresult = function(event) {
console.log('Confidence: ' + event.results[0][0].confidence);
};</pre>
-<p>Третья строка здесь выглядит немного усложненной, поэтому давайте разберемся с ней подробнее. Свойство <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionEvent/results">SpeechRecognitionEvent.results</a></code> возвращает объект <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionResultList">SpeechRecognitionResultList</a></code>, содержащий в себе другие объекты типа <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionResult">SpeechRecognitionResult</a></code>. У него есть геттер, поэтому он может быть доступен как массив, поэтому переменная <code>last</code> определяет ссылку на <code>SpeechRecognitionResult</code> из списка. Каждый объект <code>SpeechRecognitionResult</code> содержит объекты <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionAlternative">SpeechRecognitionAlternative</a></code>, которые содержат отдельные распознанные слова. Они также имеют геттеры, поэтому к ним можно получить доступ как к массивам, поэтому логично, что [0] возвращает значение <code>SpeechRecognitionAlternative</code> по индексу 0. Затем мы возвращаем строку, содержащую индивидуально распознанный результат, используя который и можем установить цвет фона.</p>
+<p>Третья строка здесь выглядит немного усложнённой, поэтому давайте разберёмся с ней подробнее. Свойство <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionEvent/results">SpeechRecognitionEvent.results</a></code> возвращает объект <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionResultList">SpeechRecognitionResultList</a></code>, содержащий в себе другие объекты типа <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionResult">SpeechRecognitionResult</a></code>. У него есть геттер, поэтому он может быть доступен как массив, поэтому переменная <code>last</code> определяет ссылку на <code>SpeechRecognitionResult</code> из списка. Каждый объект <code>SpeechRecognitionResult</code> содержит объекты <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionAlternative">SpeechRecognitionAlternative</a></code>, которые содержат отдельные распознанные слова. Они также имеют геттеры, поэтому к ним можно получить доступ как к массивам, поэтому логично, что [0] возвращает значение <code>SpeechRecognitionAlternative</code> по индексу 0. Затем мы возвращаем строку, содержащую индивидуально распознанный результат, используя который и можем установить цвет фона.</p>
<p>Мы также используем свойство <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/onspeechend">SpeechRecognition.speechend</a></code>, чтобы задать обработчик на завершение работы распознавателя речи (вызов <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/stop">SpeechRecognition.stop()</a></code> ), как только одно слово было распознано, и входящий речевой поток был остановлен.</p>
@@ -196,7 +196,7 @@ recognition.onresult = function(event) {
<h4 id="Обработка_ошибок">Обработка ошибок</h4>
-<p>Последние два обработчика используются для отлова ошибок: когда речь была признана не в соответствии с определенной грамматикой или произошла ошибка. По логике, <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/onnomatch">SpeechRecognition.onnomatch</a></code>, должен обрабатывать первый случай, но обратите внимание, что на данный момент он не срабатывает правильно в Firefox или Chrome, он просто возвращает все, что было распознано в любом случае:</p>
+<p>Последние два обработчика используются для отлова ошибок: когда речь была признана не в соответствии с определённой грамматикой или произошла ошибка. По логике, <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/onnomatch">SpeechRecognition.onnomatch</a></code>, должен обрабатывать первый случай, но обратите внимание, что на данный момент он не срабатывает правильно в Firefox или Chrome, он просто возвращает все, что было распознано в любом случае:</p>
<pre>recognition.onnomatch = function(event) {
alert("I didn't recognise that color.");
@@ -229,7 +229,7 @@ recognition.onresult = function(event) {
<h3 id="Браузерная_поддержка_2">Браузерная поддержка</h3>
-<p>Поддержка интерфейса еще только распространяется на основные браузеры, и на текущий момент ограничена следующим образом:</p>
+<p>Поддержка интерфейса ещё только распространяется на основные браузеры, и на текущий момент ограничена следующим образом:</p>
<ul>
<li dir="ltr">
@@ -252,7 +252,7 @@ recognition.onresult = function(event) {
Заголовок и форму с некоторыми простыми элементами управления.<br>
Элемент <code>&lt;select&gt; </code>изначально пуст, но заполняется с помощью <code>&lt;option&gt;</code> через JavaScript (см. ниже).</p>
-<p>CSS задает простые отзывчивые стили, для корректного отображения и работы на всех устройствах</p>
+<p>CSS задаёт простые отзывчивые стили, для корректного отображения и работы на всех устройствах</p>
<pre>&lt;section&gt;
&lt;h1&gt;Синтез речи&lt;/h1&gt;
@@ -292,7 +292,7 @@ recognition.onresult = function(event) {
<h4 id="Задание_переменных">Задание переменных</h4>
-<p>Прежде всего, создаем ссылки на все нужные нам DOM-элементы.</p>
+<p>Прежде всего, создаём ссылки на все нужные нам DOM-элементы.</p>
<p dir="ltr">Входная точка API - <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/speechSynthesis">window.speechSynthesis</a></code>, возвращает экземпляр <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis">SpeechSynthesis</a></code>, интерфейс контроллера для синтеза речи в вебе.</p>
@@ -308,9 +308,9 @@ let voices = [];</pre>
<h4 id="Заполнение_выпадающего_списка">Заполнение выпадающего списка</h4>
-<p>Чтобы заполнить элемент <code><a href="https://developer.mozilla.org/ru/docs/Web/HTML/Element/select">&lt;select&gt;</a></code> различными вариантами голоса, доступных на устройстве, напишем функцию <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices">populateVoiceList()</a></code>. Сначала мы вызываем <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices">SpeechSynthesis.getVoices()</a></code>, который возвращает список всех доступных вариантов голосов, представленных объектами <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice">SpeechSynthesisVoice</a></code>. Затем мы проходимся по списку, создавая элемент <code><a href="https://developer.mozilla.org/ru/docs/Web/HTML/Element/option">&lt;option&gt;</a></code> для каждого отдельного случая, задаем его текстовое содержимое, соответствующее названию голоса (взято из <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/name">SpeechSynthesisVoice.name</a></code>), языка голоса (из <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/lang">SpeechSynthesisVoice.lang</a></code>), и  “по умолчанию”, если голос является голосом по умолчанию для механизма синтеза (проверяется, если функция <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/default">SpeechSynthesisVoice.default</a></code> возвращает значение <code>true</code>.)</p>
+<p>Чтобы заполнить элемент <code><a href="https://developer.mozilla.org/ru/docs/Web/HTML/Element/select">&lt;select&gt;</a></code> различными вариантами голоса, доступных на устройстве, напишем функцию <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices">populateVoiceList()</a></code>. Сначала мы вызываем <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices">SpeechSynthesis.getVoices()</a></code>, который возвращает список всех доступных вариантов голосов, представленных объектами <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice">SpeechSynthesisVoice</a></code>. Затем мы проходимся по списку, создавая элемент <code><a href="https://developer.mozilla.org/ru/docs/Web/HTML/Element/option">&lt;option&gt;</a></code> для каждого отдельного случая, задаём его текстовое содержимое, соответствующее названию голоса (взято из <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/name">SpeechSynthesisVoice.name</a></code>), языка голоса (из <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/lang">SpeechSynthesisVoice.lang</a></code>), и  “по умолчанию”, если голос является голосом по умолчанию для механизма синтеза (проверяется, если функция <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/default">SpeechSynthesisVoice.default</a></code> возвращает значение <code>true</code>.)</p>
-<p>Мы также задаем <code>data-</code> атрибуты для каждого варианта, содержащие имя и язык связанного голоса, благодаря чему мы можем легко их собрать их позже, а затем вложить все варианты в качестве дочерних элементов нашего списка (<code>&lt;select&gt;</code>).</p>
+<p>Мы также задаём <code>data-</code> атрибуты для каждого варианта, содержащие имя и язык связанного голоса, благодаря чему мы можем легко их собрать их позже, а затем вложить все варианты в качестве дочерних элементов нашего списка (<code>&lt;select&gt;</code>).</p>
<pre>function populateVoiceList() {
voices = synth.getVoices();
@@ -340,11 +340,11 @@ let voices = [];</pre>
speechSynthesis.onvoiceschanged = populateVoiceList;
}</pre>
-<h4 id="Озвучка_введенного_текста">Озвучка введенного текста</h4>
+<h4 id="Озвучка_введённого_текста">Озвучка введённого текста</h4>
-<p>Затем мы создаем обработчик событий, чтобы начать “произносить” текст, введенный в текстовом поле, при нажатии на кнопку <code>Enter/Return</code> или на <code>Play</code>. Для этого используем обработчик <code><a href="https://developer.mozilla.org/ru/docs/Web/API/GlobalEventHandlers/onsubmit">onsubmit</a></code> в html-формы. В функции-обработчике <code>speak()</code> мы создаем новый экземпляр <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/SpeechSynthesisUtterance">SpeechSynthesisUtterance()</a></code>, передавая значение текстового поля в конструктор.</p>
+<p>Затем мы создаём обработчик событий, чтобы начать “произносить” текст, введённый в текстовом поле, при нажатии на кнопку <code>Enter/Return</code> или на <code>Play</code>. Для этого используем обработчик <code><a href="https://developer.mozilla.org/ru/docs/Web/API/GlobalEventHandlers/onsubmit">onsubmit</a></code> в html-формы. В функции-обработчике <code>speak()</code> мы создаём новый экземпляр <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/SpeechSynthesisUtterance">SpeechSynthesisUtterance()</a></code>, передавая значение текстового поля в конструктор.</p>
-<p dir="ltr">Затем нам нужно выяснить, какой голос использовать. Мы используем свойство <code><a href="https://developer.mozilla.org/ru/docs/Web/API/HTMLSelectElement">HTMLSelectElement</a></code> <code>selectedOptions</code> для получения выбранного элемента <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option">&lt;option&gt;</a></code>, у которого берем атрибут data-name, и находим объект <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice">SpeechSynthesisVoice</a></code>, имя которого соответствует значению имеющегося атрибута. После этого устанавливаем соответствующий “голосовой” объект как значение свойства <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/voice">SpeechSynthesisUtterance.voice</a></code>.</p>
+<p dir="ltr">Затем нам нужно выяснить, какой голос использовать. Мы используем свойство <code><a href="https://developer.mozilla.org/ru/docs/Web/API/HTMLSelectElement">HTMLSelectElement</a></code> <code>selectedOptions</code> для получения выбранного элемента <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option">&lt;option&gt;</a></code>, у которого берём атрибут data-name, и находим объект <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice">SpeechSynthesisVoice</a></code>, имя которого соответствует значению имеющегося атрибута. После этого устанавливаем соответствующий “голосовой” объект как значение свойства <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/voice">SpeechSynthesisUtterance.voice</a></code>.</p>
<p>Наконец, мы устанавливаем <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/pitch">SpeechSynthesisUtterance.pitch</a></code> (высота тона) и <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/rate">SpeechSynthesisUtterance.rate</a></code> (скорость) в соответствии со значениями соответствующих элементов формы. Затем, после всего проделанного, мы запускаем произношение речи, вызывая <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/speak">SpeechSynthesis.speak()</a></code>, и передавая ему экземпляр <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance">SpeechSynthesisUtterance</a></code> в качестве аргумента.</p>
@@ -353,7 +353,7 @@ let voices = [];</pre>
<p>В последней части функции мы включаем обработчик <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/onpause">SpeechSynthesisUtterance.onpause</a></code>, чтобы показать пример применения <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisEvent">SpeechSynthesisEvent</a></code> в различных ситуациях. Вызов <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/pause">SpeechSynthesis.pause() </a></code>возвращает сообщение с информацией о номере символа и слове, на котором была вызвана пауза.</p>
-<p>Наконец, мы назовем <code>blur()</code> у текстового поля. Это, прежде всего, для того, чтобы скрыть клавиатуру в ОС Firefox.</p>
+<p>Наконец, мы назовём <code>blur()</code> у текстового поля. Это, прежде всего, для того, чтобы скрыть клавиатуру в ОС Firefox.</p>
<pre>function speak() {
if (synth.speaking) {
diff --git a/files/ru/web/api/web_storage_api/index.html b/files/ru/web/api/web_storage_api/index.html
index e162603b6b..63f15e9736 100644
--- a/files/ru/web/api/web_storage_api/index.html
+++ b/files/ru/web/api/web_storage_api/index.html
@@ -14,14 +14,14 @@ translation_of: Web/API/Web_Storage_API
<li><code>локальное хранилище (localStorage)</code> делает то же самое, но сохраняет данные даже в случае, если переоткрыть браузер. </li>
</ul>
-<p>Обе функции доступны через  {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} свойства (если быть более точным, в браузерах, поддерживающих хранилища объект <code>Window</code>  выполняет объекты <code>WindowLocalStorage</code> и <code>WindowSessionStorage</code>, которые содержат свойства <code>localStorage</code> и <code>sessionStorage</code>) — вызов одного из них создает представление объекта {{domxref("Storage")}}, через который можно устанавливать, редактировать и удалять данные. Для каждого из типа хранилищ и по каждому домену используется отдельное представление Storage объекта  - они функционируют и управляются отдельно друг от друга. </p>
+<p>Обе функции доступны через  {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} свойства (если быть более точным, в браузерах, поддерживающих хранилища объект <code>Window</code>  выполняет объекты <code>WindowLocalStorage</code> и <code>WindowSessionStorage</code>, которые содержат свойства <code>localStorage</code> и <code>sessionStorage</code>) — вызов одного из них создаёт представление объекта {{domxref("Storage")}}, через который можно устанавливать, редактировать и удалять данные. Для каждого из типа хранилищ и по каждому домену используется отдельное представление Storage объекта  - они функционируют и управляются отдельно друг от друга. </p>
<div class="note">
-<p><strong>Замечание: </strong>Начиная с версии 45 Firefox, когда браузер прекращает работу/перезагружается, объем данных, сохраненных для каждого источника, ограничивается 10 МБ. Это было сделано, чтобы избежать проблем с памятью, вызванных чрезмерным использованием веб-хранилища.</p>
+<p><strong>Замечание: </strong>Начиная с версии 45 Firefox, когда браузер прекращает работу/перезагружается, объем данных, сохранённых для каждого источника, ограничивается 10 МБ. Это было сделано, чтобы избежать проблем с памятью, вызванных чрезмерным использованием веб-хранилища.</p>
</div>
<div class="note">
-<p><strong>Замечание: </strong>Доступ к веб хранилищу из iFrame третьей стороны запрещен, если пользователь <a href="https://support.mozilla.org/ru/kb/disable-third-party-cookies">отключил cookies третьих сторон</a> (Firefox ведёт себя так с <a href="https://developer.mozilla.org/ru/docs/Mozilla/Firefox/Releases/43">версии 43</a>).</p>
+<p><strong>Замечание: </strong>Доступ к веб хранилищу из iFrame третьей стороны запрещён, если пользователь <a href="https://support.mozilla.org/ru/kb/disable-third-party-cookies">отключил cookies третьих сторон</a> (Firefox ведёт себя так с <a href="https://developer.mozilla.org/ru/docs/Mozilla/Firefox/Releases/43">версии 43</a>).</p>
</div>
<div class="note">
@@ -41,7 +41,7 @@ translation_of: Web/API/Web_Storage_API
<h2 id="Примеры">Примеры</h2>
-<p>Чтобы проиллюстрировать типичное использование веб хранилища, мы создали простейший пример и назвали его <a href="https://github.com/mdn/dom-examples/tree/master/web-storage">Web Storage Demo</a>. На <a href="https://mdn.github.io/dom-examples/web-storage/">лендинге</a> нашего примера вы найдете элементы управления для изменения фонового цвета, шрифта и изображения. Когда вы выбираете разные опции, страница мгновенно меняется. В дополнение, ваш выбор сохраняется в локальном хранилище, чтобы, если вы покинете страницу и потом загрузите ее снова, ваши настройки восстановились. </p>
+<p>Чтобы проиллюстрировать типичное использование веб хранилища, мы создали простейший пример и назвали его <a href="https://github.com/mdn/dom-examples/tree/master/web-storage">Web Storage Demo</a>. На <a href="https://mdn.github.io/dom-examples/web-storage/">лендинге</a> нашего примера вы найдёте элементы управления для изменения фонового цвета, шрифта и изображения. Когда вы выбираете разные опции, страница мгновенно меняется. В дополнение, ваш выбор сохраняется в локальном хранилище, чтобы, если вы покинете страницу и потом загрузите её снова, ваши настройки восстановились. </p>
<p>Также, мы сделали <a href="http://mdn.github.io/dom-examples/web-storage/event.html">страницу вывода событий</a>, которая выводит информацию о хранилище, каждый раз когда срабатывает событие {{domxref("StorageEvent")}}. Загрузите эту страницу в другой вкладке браузера, затем вернитесь на лендинг и поменяйте значения цвета, шрифта или изображения и понаблюдайте, как меняется выводимая информация.</p>
@@ -120,7 +120,7 @@ translation_of: Web/API/Web_Storage_API
</table>
</div>
-<p>У каждого браузера свои объемы localStorage и sessionStorage. Здесь об <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">ограничениях размеров хранилищ для разных браузеров</a>.</p>
+<p>У каждого браузера свои объёмы localStorage и sessionStorage. Здесь об <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">ограничениях размеров хранилищ для разных браузеров</a>.</p>
<div class="note">
<p><strong>Замечание: </strong> Начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в cache директории, которая время от времени подчищается системой, в основном когда кончается место.</p>
@@ -128,11 +128,11 @@ translation_of: Web/API/Web_Storage_API
<h2 id="Приватный_режимИнкогнито">Приватный режим/Инкогнито</h2>
-<p>Многие браузеры в наши дни поддерживают опции приватности, названные "Инкогнито" или "Приватный просмотр" и т.п., что позволяет быть уверенными, что следов приватной сессии не остается после закрытия браузера. Это фундаментальная несовместимость с Веб хранилищем по очевидным причинам. Таким образом, производители браузеров экспериментируют с различными сценариями, как справиться с этой несовместимостью.</p>
+<p>Многие браузеры в наши дни поддерживают опции приватности, названные "Инкогнито" или "Приватный просмотр" и т.п., что позволяет быть уверенными, что следов приватной сессии не остаётся после закрытия браузера. Это фундаментальная несовместимость с Веб хранилищем по очевидным причинам. Таким образом, производители браузеров экспериментируют с различными сценариями, как справиться с этой несовместимостью.</p>
<p>Многие браузеры выбрали стратегию, когда API хранилища доступно и кажется полностью функциональным, с одним большим отличием - все данные хранилища стираются после закрытия браузера. Для этих браузеров есть ещё другие интерпретации того, что следует делать с хранимыми данными (от обычного режима браузера). Следует ли им быть доступными в приватном режиме? Затем, есть несколько браузеров, особенно Safari, которые выбрали решение, в котором хранилище доступно, но пустое и имеет квоту 0 байт, фактически, делая невозможной запись туда данных.</p>
-<p>Разработчики должны быть осведомлены об этих различных реализациях и принимать их во внимание при разработке веб-сайтов, зависящих от API Веб хранилища. Для получения более подробной информации, пожалуйста, посмотрите на <a href="https://blog.whatwg.org/tag/localstorage">этот пост блога WHATWG</a>, специально посвященный этой теме.</p>
+<p>Разработчики должны быть осведомлены об этих различных реализациях и принимать их во внимание при разработке веб-сайтов, зависящих от API Веб хранилища. Для получения более подробной информации, пожалуйста, посмотрите на <a href="https://blog.whatwg.org/tag/localstorage">этот пост блога WHATWG</a>, специально посвящённый этой теме.</p>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html b/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html
index 2048019f7c..882f40200d 100644
--- a/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html
+++ b/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html
@@ -23,7 +23,7 @@ localStorage.setItem('colorSetting', '#a4509b');
<li><code>(localStorage)</code> делает то же самое, но сохраняет данные даже в случае, если переоткрыть браузер. </li>
</ul>
-<p>Оба механизма доступны через  {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} свойства (если быть более точным, в броузерах, поддерживающих хранилища объект <code>Window</code>  выполняет объекты <code>WindowLocalStorage</code>и <code>WindowSessionStorage</code>, которые содержат свойства <code>localStorage</code>и <code>sessionStorage</code>) — вызов одного из них создает экземпляр объекта Storage, через который можно устанавливать, редактировать и удалять данные. Разные Storage объекты будут использовать <code>sessionStorage</code> и <code>localStorage поэтому они используются и управляются раздельно </code></p>
+<p>Оба механизма доступны через  {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} свойства (если быть более точным, в броузерах, поддерживающих хранилища объект <code>Window</code>  выполняет объекты <code>WindowLocalStorage</code>и <code>WindowSessionStorage</code>, которые содержат свойства <code>localStorage</code>и <code>sessionStorage</code>) — вызов одного из них создаёт экземпляр объекта Storage, через который можно устанавливать, редактировать и удалять данные. Разные Storage объекты будут использовать <code>sessionStorage</code> и <code>localStorage поэтому они используются и управляются раздельно </code></p>
<p>Так, например, изначально вызов <code>localStorage</code> в документе возвращает {{domxref("Storage")}} объект; вызов <code>sessionStorage</code> в документе возвращает другой {{domxref("Storage")}} объект. Оба объекта могут управляться одинаково, но отдельно.</p>
@@ -33,7 +33,7 @@ localStorage.setItem('colorSetting', '#a4509b');
<h3 id="Проверка_на_наличие">Проверка на наличие</h3>
-<p>Браузеры поддерживаемые localStorage будут иметь свойство localStorage объекта window. Тем не менее по различным причинам, простое утверждение, что это свойство существует, может вызывать исключение. Если localStorage существует это еще не дает гарантии, что оно доступно,  т.к. различные броузеры обладают настройками которые отключают его. Поэтому браузер может поддерживать localStorage, но не делает его доступным для скриптов на странице. Один из таких примеров браузер Safari, который в Private Browsing mode возвращает нам пустой localStorage объект, фактически делая его непригодным для использования . Наша функция должна принимать во внимание этот сценарий. </p>
+<p>Браузеры поддерживаемые localStorage будут иметь свойство localStorage объекта window. Тем не менее по различным причинам, простое утверждение, что это свойство существует, может вызывать исключение. Если localStorage существует это ещё не даёт гарантии, что оно доступно,  т.к. различные броузеры обладают настройками которые отключают его. Поэтому браузер может поддерживать localStorage, но не делает его доступным для скриптов на странице. Один из таких примеров браузер Safari, который в Private Browsing mode возвращает нам пустой localStorage объект, фактически делая его непригодным для использования . Наша функция должна принимать во внимание этот сценарий. </p>
<p>Функция, которая проверяет браузеры на поддержку и доступность localStorage:</p>
@@ -65,19 +65,19 @@ else {
<p>Чтобы проиллюстрировать типичное использование Web storage, мы создали простой пример, назвав его <strong>Web Storage Demo. </strong>На <a href="https://mdn.github.io/dom-examples/web-storage/">целевой странице</a> представлены элементы управления, которые можно использовать для настройки цвета, шрифта и декоративного изображения:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/9685/landing.png" style="display: block; height: 482px; margin: 0px auto; width: 700px;">Когда вы выбираете различные опции, страница немедленно перезагружается; в дополнение, ваш выбор сохраняется в localStorage, таким образом когда вы покидаете страницу и загружаете ее снова спустя некоторое время, ваши параметры сохраняются.</p>
+<p><img alt="" src="https://mdn.mozillademos.org/files/9685/landing.png" style="display: block; height: 482px; margin: 0px auto; width: 700px;">Когда вы выбираете различные опции, страница немедленно перезагружается; в дополнение, ваш выбор сохраняется в localStorage, таким образом когда вы покидаете страницу и загружаете её снова спустя некоторое время, ваши параметры сохраняются.</p>
-<p>Мы также предоставили <a href="https://mdn.github.io/dom-examples/web-storage/event.html">страницу вывода событий</a> - если вы загрузите эту страницу в другой вкладке, затем сделаете некоторые изменения в landing page, вы увидите обновленную информацию о хранилище.</p>
+<p>Мы также предоставили <a href="https://mdn.github.io/dom-examples/web-storage/event.html">страницу вывода событий</a> - если вы загрузите эту страницу в другой вкладке, затем сделаете некоторые изменения в landing page, вы увидите обновлённую информацию о хранилище.</p>
<p><img alt="" src="https://mdn.mozillademos.org/files/9687/event-output.png" style="display: block; height: 482px; margin: 0px auto; width: 700px;"></p>
<div class="note">
-<p><strong>Примечание</strong>: Помимо просмотра примеров выше, используя приведенные ссылки выше , вы можете также <a href="https://github.com/mdn/dom-examples/tree/master/web-storage">просмотреть исходный код</a>.</p>
+<p><strong>Примечание</strong>: Помимо просмотра примеров выше, используя приведённые ссылки выше , вы можете также <a href="https://github.com/mdn/dom-examples/tree/master/web-storage">просмотреть исходный код</a>.</p>
</div>
<h2 id="Проверка_на_заполненность_хранилища">Проверка на заполненность хранилища</h2>
-<p>Начнем с main.js, мы проверим был ли уже заполнен объект Storage (т.е страница была ранее доступна)</p>
+<p>Начнём с main.js, мы проверим был ли уже заполнен объект Storage (т.е страница была ранее доступна)</p>
<pre class="brush: js notranslate">if(!localStorage.getItem('bgcolor')) {
populateStorage();
@@ -86,7 +86,7 @@ else {
}
</pre>
-<p>Метод {{domxref("Storage.getItem()")}} используется для получения данных из storage; в этом примере мы проверяем, чтобы увидеть существует ли bgcolor; если нет, мы запускаем <code>populateStorage(), чтобы добавить значение по умолчанию в storage. Если значения уже есть там, мы запускаем setStyles(), для обновления стиля страница с сохраненными значениями.</code><br>
+<p>Метод {{domxref("Storage.getItem()")}} используется для получения данных из storage; в этом примере мы проверяем, чтобы увидеть существует ли bgcolor; если нет, мы запускаем <code>populateStorage(), чтобы добавить значение по умолчанию в storage. Если значения уже есть там, мы запускаем setStyles(), для обновления стиля страница с сохранёнными значениями.</code><br>
<strong>Примечание</strong>: Вы можете также использовать {{domxref("Storage.length")}} для проверки storage object.</p>
<h2 id="Получение_данных_из_Storage">Получение данных из Storage</h2>
@@ -147,7 +147,7 @@ imageForm.onchange = populateStorage;</pre>
<h2 id="Удаление_записанных_данных">Удаление записанных данных</h2>
-<p>Web Storage также предоставляет несколько простых методов для удаления данных. Мы не используем эти методы в нашем дема, но они очень простые, чтобы добавить их в проект:</p>
+<p>Web Storage также предоставляет несколько простых методов для удаления данных. Мы не используем эти методы в нашем дёма, но они очень простые, чтобы добавить их в проект:</p>
<ul>
<li>{{domxref("Storage.removeItem()")}} принимает единственный аргумент - ключ элемента данных, который вы хотите удалить - и удаляет его из объекта хранения для этого домена. </li>
diff --git a/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html b/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html
index e53a1144ba..c6e9737833 100644
--- a/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html
+++ b/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html
@@ -3,7 +3,7 @@ title: Алгоритм структурированного клонирова
slug: Web/API/Web_Workers_API/Structured_clone_algorithm
translation_of: Web/API/Web_Workers_API/Structured_clone_algorithm
---
-<p>Алгоритм структурированного клонирования — это новый алгоритм, <a class="external" href="http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#safe-passing-of-structured-data" title="http://www.w3.org/TR/html5/common-dom-interfaces.html#safe-passing-of-structured-data">определенный спецификацией HTML5</a> для сериализации комплексных JavaScript объектов. Он более функционален, чем <a href="/en/JSON" title="en/JSON">JSON</a> в том что способен поддерживать сериализацию объектов содержащих циклические графы — первичные объекты, которые ссылаются на другие объекты у которых есть ссылка на первичные объекты в том же графе. В дополнение, в некоторых других случаях алгоритм структурированного клонирования может быть более эффективен, чем JSON.</p>
+<p>Алгоритм структурированного клонирования — это новый алгоритм, <a class="external" href="http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#safe-passing-of-structured-data" title="http://www.w3.org/TR/html5/common-dom-interfaces.html#safe-passing-of-structured-data">определённый спецификацией HTML5</a> для сериализации комплексных JavaScript объектов. Он более функционален, чем <a href="/en/JSON" title="en/JSON">JSON</a> в том что способен поддерживать сериализацию объектов содержащих циклические графы — первичные объекты, которые ссылаются на другие объекты у которых есть ссылка на первичные объекты в том же графе. В дополнение, в некоторых других случаях алгоритм структурированного клонирования может быть более эффективен, чем JSON.</p>
<p>Алгоритм, по существу, перебирает все поля оригинального объекта, дублируя значения каждого поля в новый объект. Если поле представляет из себя объект с собственными полями, то эти дочерние поля также перебираются рекурсивно, пока каждое поле и все дочерние поля не будут продублированы в новый объект.</p>
@@ -107,7 +107,7 @@ translation_of: Web/API/Web_Workers_API/Structured_clone_algorithm
<h2 id="Другой_вариант_вложенное_копирование‎">Другой вариант: вложенное копирование‎</h2>
-<p>Если вы хотите сделать вложенную копию объекта (т.е рекурсивно копировать все вложенные свойства, проходя по прототипной цепи),  вы должны использовать другой подход. Ниже приведен возможный пример.</p>
+<p>Если вы хотите сделать вложенную копию объекта (т.е рекурсивно копировать все вложенные свойства, проходя по прототипной цепи),  вы должны использовать другой подход. Ниже приведён возможный пример.</p>
<pre class="brush: js">function clone(objectToBeCloned) {
// Basis.
@@ -142,7 +142,7 @@ translation_of: Web/API/Web_Workers_API/Structured_clone_algorithm
<div class="note"><strong>  Note:</strong> Этот алгоритм  реализован  только для  <a href="/en/JavaScript/Reference/Global_Objects/RegExp" title="RegExp"><code>RegExp</code></a>, <a href="/en/JavaScript/Reference/Global_Objects/Array" title="Array"><code>Array</code></a>, и <a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date"><code>Date</code></a> специальных объектов. Вы можете реализовать другие условия, удовлетворяющие вашим потребностям.</div>
-<h2 id="Еще_по_теме">Еще по теме</h2>
+<h2 id="Ещё_по_теме">Ещё по теме</h2>
<ul>
<li><a class="external" href="http://www.w3.org/TR/html5/infrastructure.html#safe-passing-of-structured-data" title="http://www.w3.org/TR/html5/common-dom-interfaces.html#safe-passing-of-structured-data">HTML5 Specification: Safe passing of structured data</a></li>
diff --git a/files/ru/web/api/web_workers_api/using_web_workers/index.html b/files/ru/web/api/web_workers_api/using_web_workers/index.html
index 9767a15c43..e54339bd17 100644
--- a/files/ru/web/api/web_workers_api/using_web_workers/index.html
+++ b/files/ru/web/api/web_workers_api/using_web_workers/index.html
@@ -9,11 +9,11 @@ original_slug: DOM/Using_web_workers
---
<div>{{DefaultAPISidebar("Web Workers API")}}</div>
-<p>Web Worker-ы предоставляют простое средство для запуска скриптов в фоновом потоке. Поток Worker'а может выполнять задачи без вмешательства в пользовательский интерфейс. К тому же, они могут осуществлять ввод/вывод, используя <code><a class="internal" href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIXMLHttpRequest">XMLHttpRequest</a></code> (хотя атрибуты <code>responseXML</code> и <code>channel</code> всегда будут равны null). Существующий Worker может отсылать сообщения JavaScript коду-создателю через обработчик событий, указанный этим кодом (и наоборот). Эта статья дает детальную инструкцию по использованию Web Workers.</p>
+<p>Web Worker-ы предоставляют простое средство для запуска скриптов в фоновом потоке. Поток Worker'а может выполнять задачи без вмешательства в пользовательский интерфейс. К тому же, они могут осуществлять ввод/вывод, используя <code><a class="internal" href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIXMLHttpRequest">XMLHttpRequest</a></code> (хотя атрибуты <code>responseXML</code> и <code>channel</code> всегда будут равны null). Существующий Worker может отсылать сообщения JavaScript коду-создателю через обработчик событий, указанный этим кодом (и наоборот). Эта статья даёт детальную инструкцию по использованию Web Workers.</p>
<h2 id="Web_Workers_API">Web Workers API</h2>
-<p>Worker - это объект, создаваемый конструктором (например, {{domxref("Worker.Worker", "Worker()")}}) и запускающий именной JavaScript файл — этот файл содержит код, который будет выполнен в потоке Worker'а; объекты же Workers запускаются в другом глобальном контексте, отличающемся от текущего, - {{domxref("window")}}. Поэтому использование переменной {{domxref("window")}} для получения текущего глобального контекста (вместо {{domxref("window.self","self")}}) внутри {{domxref("Worker")}} вернет ошибку.</p>
+<p>Worker - это объект, создаваемый конструктором (например, {{domxref("Worker.Worker", "Worker()")}}) и запускающий именной JavaScript файл — этот файл содержит код, который будет выполнен в потоке Worker'а; объекты же Workers запускаются в другом глобальном контексте, отличающемся от текущего, - {{domxref("window")}}. Поэтому использование переменной {{domxref("window")}} для получения текущего глобального контекста (вместо {{domxref("window.self","self")}}) внутри {{domxref("Worker")}} вернёт ошибку.</p>
<p>Контекст Worker'а представлен объектом {{domxref("DedicatedWorkerGlobalScope")}} в случае выделенных Workers (обычные Workers используются одним скриптом; совместные Workers используют объект {{domxref("SharedWorkerGlobalScope")}}). Выделенный Worker доступен только из скрипта-родителя, в то время как совместные Workers могут быть доступны из нескольких сценариев.</p>
@@ -29,7 +29,7 @@ original_slug: DOM/Using_web_workers
<h2 id="Выделенные_Workers">Выделенные Workers</h2>
-<p>Как уже упоминалось выше, выделенный Worker доступен только для скрипта, который его вызвал. В этом разделе речь пойдет о JavaScript, который можно найти в нашем <a class="external external-icon" href="https://github.com/mdn/simple-web-worker">основном примере выделенного Worker</a> (<a class="external external-icon" href="http://mdn.github.io/simple-web-worker/">запустить скрипт</a>): этот пример позволяет ввести два числа для умножения. Эти числа отправляются в Worker, перемножаются, а результат возвращается на страницу и отображается.</p>
+<p>Как уже упоминалось выше, выделенный Worker доступен только для скрипта, который его вызвал. В этом разделе речь пойдёт о JavaScript, который можно найти в нашем <a class="external external-icon" href="https://github.com/mdn/simple-web-worker">основном примере выделенного Worker</a> (<a class="external external-icon" href="http://mdn.github.io/simple-web-worker/">запустить скрипт</a>): этот пример позволяет ввести два числа для умножения. Эти числа отправляются в Worker, перемножаются, а результат возвращается на страницу и отображается.</p>
<p>Этот пример достаточно тривиален, но для ознакомления с базовыми концепциями worker-ов мы решили его упростить. Более продвинутые детали описаны далее в статье.</p>
@@ -66,7 +66,7 @@ second.onchange = function() {
console.log('Message posted to worker');
}</pre>
-<p>В приведенном фрагменте кода мы имеем два {{htmlelement("input")}} элемента, представленных переменными <code>first</code> и <code>second</code>; когда значение любой из переменных изменяется,<code> myWorker.postMessage([first.value,second.value])</code> используется для отправки обоих значений, представленных в виде массива, в worker. Посредством аргумента <code>message</code> возможна передача практически любых данных в worker.</p>
+<p>В приведённом фрагменте кода мы имеем два {{htmlelement("input")}} элемента, представленных переменными <code>first</code> и <code>second</code>; когда значение любой из переменных изменяется,<code> myWorker.postMessage([first.value,second.value])</code> используется для отправки обоих значений, представленных в виде массива, в worker. Посредством аргумента <code>message</code> возможна передача практически любых данных в worker.</p>
<p>Внутри worker-a мы можем обрабатывать сообщения и отвечать на них при помощи добавления обработчика события <code>onmessage</code> подобным образом (<a href="https://github.com/mdn/simple-web-worker/blob/gh-pages/worker.js">worker.js</a>):</p>
@@ -90,7 +90,7 @@ second.onchange = function() {
<p class="note"><strong>Заметка</strong>: Обратите внимание, что <font face="consolas, Liberation Mono, courier, monospace"><code>onmessage()</code>​ и <code>postmessage()</code> должны вызываться из экземпляра Worker в главном потоке, но не в потоке worker-а. Это связано с тем, что внутри потока worker-а, worker выступает в качестве глобального объекта.</font></p>
-<p class="note"><strong>Заметка</strong>: При передаче сообщения между основным потоком и потоком worker-а, оно копируется или "передается" (перемещается), не делится между потоками. Читайте {{anch("Transferring data to and from workers: further details")}} для более подробного объяснения.</p>
+<p class="note"><strong>Заметка</strong>: При передаче сообщения между основным потоком и потоком worker-а, оно копируется или "передаётся" (перемещается), не делится между потоками. Читайте {{anch("Transferring data to and from workers: further details")}} для более подробного объяснения.</p>
<h3 id="Завершение_работы_worker-а">Завершение работы worker-а</h3>
@@ -123,7 +123,7 @@ second.onchange = function() {
<h3 id="Импорт_скриптов_и_библиотек">Импорт скриптов и библиотек</h3>
-<p>Worker потоки имеют доступ к глобальной функции, <code>importScripts()</code>, которая позволяет импортировать скрипты с того же домена в их область видимости. Функция принимает ноль и более URI параметров, как список ссылок на ресурсы для импорта; все нижеприведенные примеры верны:</p>
+<p>Worker потоки имеют доступ к глобальной функции, <code>importScripts()</code>, которая позволяет импортировать скрипты с того же домена в их область видимости. Функция принимает ноль и более URI параметров, как список ссылок на ресурсы для импорта; все нижеприведённые примеры верны:</p>
<pre class="brush: js notranslate">importScripts(); /* imports nothing */
importScripts('foo.js'); /* imports just "foo.js" */
@@ -132,13 +132,13 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */
<p>Браузер загружает каждый указанный скрипт и исполняет его. Любые глобальные объекты, создаваемые каждым скриптом могут быть использованы в worker'е. Если скрипт не удалось загрузить, будет брошена ошибка <code>NETWORK_ERROR</code>, и последующий код не будет исполнен. Тем не менее код, исполненный ранее (включая отложенный при помощи {{domxref("window.setTimeout()")}}) останется функционален. Объявления функций идущие <strong>после</strong> вызова метода <code>importScripts()</code> также будут доступны, т.к. объявления функций всегда обрабатываются перед остальным кодом.</p>
-<div class="note"><strong>Заметка</strong>: Скрипты могут быть загружены в произвольном порядке, но их исполнение будет в  том порядке, в котором имена файлов были переданы в <code>importScripts()</code>. Функция выполняется синхронно; <code>importScripts()</code> не вернет исполнение, пока все скрипты не будут загружены и исполнены.</div>
+<div class="note"><strong>Заметка</strong>: Скрипты могут быть загружены в произвольном порядке, но их исполнение будет в  том порядке, в котором имена файлов были переданы в <code>importScripts()</code>. Функция выполняется синхронно; <code>importScripts()</code> не вернёт исполнение, пока все скрипты не будут загружены и исполнены.</div>
<h2 id="Разделяемые_worker-ы_Shared_workers">Разделяемые worker-ы (Shared workers)</h2>
<p>Разделяемый worker доступен нескольким разным скриптам — даже если они находятся в разных окнах, фреймах или даже worker-ах. В этом разделе мы обсудим JavaScript, который можно найти в нашем <a class="external external-icon" href="https://github.com/mdn/simple-shared-worker">базовом примере разделяемых worker-ов</a> (<a class="external external-icon" href="http://mdn.github.io/simple-shared-worker/">запустить разделяемый worker</a>): Он очень похож на базовый пример выделенных worker-ов, за исключением двух функций, которые доступны из разных скриптовых файлов: <em>умножение двух чисел</em> или <em>возведение числа в степень.</em> Оба скрипта используют один и тот же worker для необходимых вычислений.</p>
-<p>Здесь мы сосредоточимся на разнице между выделенными и разделенными worker-ами. Обратите внимание, что в данном примере есть две HTML страницы с JavaScript кодом, которые используют один и тот же файл worker-а.</p>
+<p>Здесь мы сосредоточимся на разнице между выделенными и разделёнными worker-ами. Обратите внимание, что в данном примере есть две HTML страницы с JavaScript кодом, которые используют один и тот же файл worker-а.</p>
<div class="note">
<p><strong>Заметка</strong>: Если разделяемый worker может быть доступен из нескольких контекстов просмотра, то все они должны иметь одно и то же происхождение (одни и те же протокол, хост и порт).</p>
@@ -168,7 +168,7 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */
<h3 id="Передача_сообщений_виз_разделяемого_worker-а">Передача сообщений в/из разделяемого worker-а</h3>
-<p>Теперь сообщения могут быть отправлены worker-у, как и прежде, но метод <code>postMessage()</code> должен вызываться из объекта <code>port</code> (еще раз, вы можете увидеть схожие конструкции в <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/multiply.js">multiply.js</a> и <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/square.js">square.js</a>):</p>
+<p>Теперь сообщения могут быть отправлены worker-у, как и прежде, но метод <code>postMessage()</code> должен вызываться из объекта <code>port</code> (ещё раз, вы можете увидеть схожие конструкции в <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/multiply.js">multiply.js</a> и <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/square.js">square.js</a>):</p>
<pre class="brush: js notranslate">squareNumber.onchange = function() {
myWorker.port.postMessage([squareNumber.value,squareNumber.value]);
@@ -190,9 +190,9 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */
<p>Мы используем атрибут события <code>ports</code>, чтобы получить порт и сохранить его в переменной.</p>
-<p>Второй этап — это обработчик события <code>message</code> на сохраненном порту. Он нужен для подсчета и вывода результата вычисления в основной поток. Установка обработчика <code>message</code> в потоке worker-а также открывает подключение к родительскому потоку, поэтому вызов на <code>port.start()</code> на самом деле не нужен (см. код обработчика <code>onconnect</code>).</p>
+<p>Второй этап — это обработчик события <code>message</code> на сохранённом порту. Он нужен для подсчёта и вывода результата вычисления в основной поток. Установка обработчика <code>message</code> в потоке worker-а также открывает подключение к родительскому потоку, поэтому вызов на <code>port.start()</code> на самом деле не нужен (см. код обработчика <code>onconnect</code>).</p>
-<p>Последний этап — возвращение в основной поток и обработка сообщения от worker‑а (еще раз, вы можете увидеть схожие конструкции в <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/multiply.js">multiply.js</a> и <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/square.js">square.js</a>):</p>
+<p>Последний этап — возвращение в основной поток и обработка сообщения от worker‑а (ещё раз, вы можете увидеть схожие конструкции в <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/multiply.js">multiply.js</a> и <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/square.js">square.js</a>):</p>
<pre class="brush: js notranslate">myWorker.port.onmessage = function(e) {
result2.textContent = e.data[0];
@@ -209,7 +209,7 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */
<h2 id="Передача_данных_в_и_из_worker-ов_другие_детали">Передача данных в и из worker-ов: другие детали</h2>
-<p>Передача данных между главной страницей и worker-ом происходит путем копирования, а не передачи по ссылке. Объекты сериализуются при передаче и затем десериализуются на другом конце. Страница и worker не используют совместно одни и те же экземпляры, для каждого создается свой. Большинство браузеров реализуют это структурированным клонированием (<a href="/en-US/docs/Web/Guide/API/DOM/The_structured_clone_algorithm">structured cloning</a>).</p>
+<p>Передача данных между главной страницей и worker-ом происходит путём копирования, а не передачи по ссылке. Объекты сериализуются при передаче и затем десериализуются на другом конце. Страница и worker не используют совместно одни и те же экземпляры, для каждого создаётся свой. Большинство браузеров реализуют это структурированным клонированием (<a href="/en-US/docs/Web/Guide/API/DOM/The_structured_clone_algorithm">structured cloning</a>).</p>
<p>Для иллюстрации этого мы создадим функцию <code>emulateMessage()</code>, которая будет имитировать поведение значения, которое клонируется, но не используется совместно при переходе от worker-а к главной странице или наоборот.</p>
@@ -251,7 +251,7 @@ var example5 = new Animal("Cat", 3);
alert(example5.constructor); // Animal
alert(emulateMessage(example5).constructor); // Object</pre>
-<p>Значения, которые клонируются и совместно не используются, называются сообщениями. Как вы, возможно, знаете, сообщения могут быть отправлены в главную страницу и из нее, используя <code>postMessage()</code>, и {{domxref("MessageEvent.data", "data")}}, содержа данные, передаваемые из worker-а.</p>
+<p>Значения, которые клонируются и совместно не используются, называются сообщениями. Как вы, возможно, знаете, сообщения могут быть отправлены в главную страницу и из неё, используя <code>postMessage()</code>, и {{domxref("MessageEvent.data", "data")}}, содержа данные, передаваемые из worker-а.</p>
<p><strong>example.html</strong>: (главная страница):</p>
@@ -279,7 +279,7 @@ onmessage = function (oEvent) {
<p>Если вам нужно передать сложные данные и вызвать множество различных функций как на главной странице, так и в worker-е, вы можете создать следующую систему.</p>
-<p>В первую очередь мы создаем класс QueryableWorker, который принимает url worker-а, стандартный обработчик событий (defaultListener) и обработчик ошибок. Этот класс будет отслеживать всех обработчиков и поможет нам общаться с воркером.</p>
+<p>В первую очередь мы создаём класс QueryableWorker, который принимает url worker-а, стандартный обработчик событий (defaultListener) и обработчик ошибок. Этот класс будет отслеживать всех обработчиков и поможет нам общаться с воркером.</p>
<pre class="brush: js notranslate"><code>function QueryableWorker(url, defaultListener, onError) {
var instance = this,
@@ -516,7 +516,7 @@ onmessage = function(oEvent) {
<h3 id="Передача_данных_с_помощью_передачи_владения_передаваемые_объекты">Передача данных с помощью передачи владения (передаваемые объекты)</h3>
-<p>Google Chrome 17+ and Firefox 18+ имеют дополнительную возможность передачи определенных типов объектов (передаваемые объекты реализующие {{domxref("Transferable")}} интерфейс) к или из worker-а с высокой производительностью. Эти объекты передаются из одного контекста в другой без операций копирования, что приводит к значительному повышению производительности при отправке больших наборов данных. Думайте об этом как о передаче по ссылке в мире C/C++. Однако в отличии от передачи по ссылке, "версия" из вызывающего контекста больше недоступна после передачи. Владельцем становится новый контекст.  Для примера, после передачи {{domxref("ArrayBuffer")}} из главной страницы к worker-у,  исходный {{domxref("ArrayBuffer")}} очищается и более недоступен для использования.  Его содержание (в буквальном смысле) переносится в рабочий контекст.</p>
+<p>Google Chrome 17+ and Firefox 18+ имеют дополнительную возможность передачи определённых типов объектов (передаваемые объекты реализующие {{domxref("Transferable")}} интерфейс) к или из worker-а с высокой производительностью. Эти объекты передаются из одного контекста в другой без операций копирования, что приводит к значительному повышению производительности при отправке больших наборов данных. Думайте об этом как о передаче по ссылке в мире C/C++. Однако в отличии от передачи по ссылке, "версия" из вызывающего контекста больше недоступна после передачи. Владельцем становится новый контекст.  Для примера, после передачи {{domxref("ArrayBuffer")}} из главной страницы к worker-у,  исходный {{domxref("ArrayBuffer")}} очищается и более недоступен для использования.  Его содержание (в буквальном смысле) переносится в рабочий контекст.</p>
<pre class="brush: js notranslate">// Create a 32MB "file" and fill it.
var uInt8Array = new Uint8Array(1024*1024*32); // 32MB
@@ -533,7 +533,7 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]);
<h2 id="Встроенные_worker-ы">Встроенные worker-ы</h2>
-<p>Не существует утвержденного способа встроить код worker-а в рамках веб-страницы, как элемент {{HTMLElement("script")}} делает для обычных скриптов. Но элемент {{HTMLElement("script")}}, который не имеет атрибута <code>src</code> и атрибута  <code>type</code>, которому не назначен выполняемый MIME type, можно считать блоком данных для использования JavaScript. Блок данных "Data blocks" — это более общее свойство HTML5, может содержать любые текстовые данные. Так, worker может быть встроен следующим образом:</p>
+<p>Не существует утверждённого способа встроить код worker-а в рамках веб-страницы, как элемент {{HTMLElement("script")}} делает для обычных скриптов. Но элемент {{HTMLElement("script")}}, который не имеет атрибута <code>src</code> и атрибута  <code>type</code>, которому не назначен выполняемый MIME type, можно считать блоком данных для использования JavaScript. Блок данных "Data blocks" — это более общее свойство HTML5, может содержать любые текстовые данные. Так, worker может быть встроен следующим образом:</p>
<pre class="brush: html line-numbers language-html notranslate"><code class="language-html"><span class="doctype token">&lt;!DOCTYPE html&gt;</span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>html</span><span class="punctuation token">&gt;</span></span>
@@ -543,7 +543,7 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]);
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>script</span> <span class="attr-name token">type</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>text/js-worker<span class="punctuation token">"</span></span><span class="punctuation token">&gt;</span></span><span class="script token"><span class="language-javascript token">
<span class="comment token">// Этот script НЕ БУДЕТ анализироваться JS движками, потому что его MIME-тип text/js-worker.</span>
<span class="keyword token">var</span> myVar <span class="operator token">=</span> <span class="string token">'Hello World!'</span><span class="punctuation token">;</span>
- <span class="comment token">// </span></span></span></code>Остальная часть кода вашего воркера идет сюда.<code class="language-html"><span class="script token"><span class="language-javascript token">
+ <span class="comment token">// </span></span></span></code>Остальная часть кода вашего воркера идёт сюда.<code class="language-html"><span class="script token"><span class="language-javascript token">
</span></span><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>script</span><span class="punctuation token">&gt;</span></span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>script</span> <span class="attr-name token">type</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>text/javascript<span class="punctuation token">"</span></span><span class="punctuation token">&gt;</span></span><span class="script token"><span class="language-javascript token">
<span class="comment token">// Этот script БУДЕТ проанализирован JS движкам, потому что его MIME-тип text/javascript.</span>
@@ -560,7 +560,7 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]);
<span class="function function-variable token">onmessage</span> <span class="operator token">=</span> <span class="keyword token">function</span><span class="punctuation token">(</span><span class="parameter token">oEvent</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
<span class="function token">postMessage</span><span class="punctuation token">(</span>myVar<span class="punctuation token">)</span><span class="punctuation token">;</span>
<span class="punctuation token">}</span><span class="punctuation token">;</span>
- <span class="comment token">// </span></span></span></code>Остальная часть кода вашего воркера идет сюда.<code class="language-html"><span class="script token"><span class="language-javascript token">
+ <span class="comment token">// </span></span></span></code>Остальная часть кода вашего воркера идёт сюда.<code class="language-html"><span class="script token"><span class="language-javascript token">
</span></span><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>script</span><span class="punctuation token">&gt;</span></span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>script</span> <span class="attr-name token">type</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>text/javascript<span class="punctuation token">"</span></span><span class="punctuation token">&gt;</span></span><span class="script token"><span class="language-javascript token">
<span class="comment token">// Этот script БУДЕТ проанализирован JS движкам, потому что его MIME-тип text/javascript.</span>
@@ -585,7 +585,7 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]);
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>html</span><span class="punctuation token">&gt;</span></span></code>
</pre>
-<div id="logDisplay">Встраиваемый worker теперь внесен в новое custom свойство <code>document.worker</code></div>
+<div id="logDisplay">Встраиваемый worker теперь внесён в новое custom свойство <code>document.worker</code></div>
<div></div>
@@ -599,11 +599,11 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]);
<h2 id="Другие_примеры">Другие примеры</h2>
-<p>В этой секции представлено еще несколько примеров как использовать worker-ы.</p>
+<p>В этой секции представлено ещё несколько примеров как использовать worker-ы.</p>
<h3 id="Выполнение_вычислений_в_фоне">Выполнение вычислений в фоне</h3>
-<p>Worker-ы в основном полезны для того, чтобы позволить вашему коду выполнять ресурсоемкие вычисления, не блокируя поток пользовательского интерфейса. В этом примере, worker используется для вычисления числа Фибоначчи.</p>
+<p>Worker-ы в основном полезны для того, чтобы позволить вашему коду выполнять ресурсоёмкие вычисления, не блокируя поток пользовательского интерфейса. В этом примере, worker используется для вычисления числа Фибоначчи.</p>
<h4 id="Код_JavaScript">Код JavaScript</h4>
@@ -672,7 +672,7 @@ onmessage = function(event) {
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>body</span><span class="punctuation token">&gt;</span></span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>html</span><span class="punctuation token">&gt;</span></span></code></pre>
-<p>Веб-страница создает элемент <code>div</code> с ID <code>result</code> , который используется для отображения результата, а затем порождает worker. После порождения worker-а, обработчик <code>onmessage</code> настроен для отображения результатов путем установки содержимого элемента <code>div</code>, и обработчик <code>onerror</code> настроен на <a href="/en-US/docs/Debugging_JavaScript#dump.28.29">выброс</a> сообщения об ошибке.</p>
+<p>Веб-страница создаёт элемент <code>div</code> с ID <code>result</code> , который используется для отображения результата, а затем порождает worker. После порождения worker-а, обработчик <code>onmessage</code> настроен для отображения результатов путём установки содержимого элемента <code>div</code>, и обработчик <code>onerror</code> настроен на <a href="/en-US/docs/Debugging_JavaScript#dump.28.29">выброс</a> сообщения об ошибке.</p>
<p>Наконец, сообщение отправляется worker-у, чтобы запустить его.</p>
@@ -684,7 +684,7 @@ onmessage = function(event) {
<h3 id="Разделение_задач_между_множественными_worker-ами">Разделение задач между множественными worker-ами</h3>
-<p>Поскольку многоядерные компьютеры становятся все более распространенными, часто бывает полезно разделить вычислительно сложные задачи между несколькими worker-ами, которые затем могут выполнить эти задачи на многопроцессорных ядрах.</p>
+<p>Поскольку многоядерные компьютеры становятся все более распространёнными, часто бывает полезно разделить вычислительно сложные задачи между несколькими worker-ами, которые затем могут выполнить эти задачи на многопроцессорных ядрах.</p>
<h2 id="Другие_типы_worker-ов">Другие типы worker-ов</h2>
diff --git a/files/ru/web/api/webgl_api/index.html b/files/ru/web/api/webgl_api/index.html
index 6a35a2dda3..dc83c9b165 100644
--- a/files/ru/web/api/webgl_api/index.html
+++ b/files/ru/web/api/webgl_api/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/WebGL_API
---
<div>{{WebGLSidebar}}</div>
-<p class="summary">WebGL (Web Graphics Library) - программная библиотека для языка JavaScript предназначенная для визуализации интерактивной трехмерной графики и двухмерной графики в пределах совместимости веб-браузера без использования плагинов. WebGL приносит в веб трехмерную графику, вводя API, который построен на основе OpenGL ES 2.0, что позволяет его использовать в элементах <a href="/en-US/docs/HTML/Canvas" title="en-US/docs/html/canvas"><code> canvas</code></a> HTML5 .</p>
+<p class="summary">WebGL (Web Graphics Library) - программная библиотека для языка JavaScript предназначенная для визуализации интерактивной трёхмерной графики и двухмерной графики в пределах совместимости веб-браузера без использования плагинов. WebGL приносит в веб трёхмерную графику, вводя API, который построен на основе OpenGL ES 2.0, что позволяет его использовать в элементах <a href="/en-US/docs/HTML/Canvas" title="en-US/docs/html/canvas"><code> canvas</code></a> HTML5 .</p>
<p>Поддержка WebGL присутствует в <a href="/en-US/Firefox" title="Firefox 4 for developers">Firefox</a> 4+, <a href="http://www.google.com/chrome/" title="http://www.google.com/chrome/">Google Chrome</a> 9+, <a href="http://www.opera.com/" title="http://www.opera.com/">Opera</a> 12+, <a href="http://www.apple.com/safari/" title="http://www.apple.com/fr/safari/">Safari </a>5.1+ и <a href="http://windows.microsoft.com/en-us/internet-explorer/browser-ie" title="http://windows.microsoft.com/en-us/internet-explorer/download-ie">Internet Explorer</a> 11+. Однако помимо поддержки WebGL браузером, необходима также его поддержка графическим процессором клиента.</p>
@@ -51,11 +51,11 @@ translation_of: Web/API/WebGL_API
<dt><a class="external" href="http://www.khronos.org/webgl/" title="http://www.khronos.org/webgl/">Официальный сайт WebGL</a></dt>
<dd>Веб-сайт разработчиков WebGL - Khronos Group.</dd>
<dt><a class="external" href="http://learningwebgl.com/blog/" title="http://learningwebgl.com/blog/">Изучение WebGL</a></dt>
- <dd>Веб-сайт с уроками, посвященными использованию WebGL.</dd>
+ <dd>Веб-сайт с уроками, посвящёнными использованию WebGL.</dd>
<dt><a href="http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/" title="http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/">Основы WebGL</a></dt>
<dd>Учебные материалы по основным возможностям WebGL.</dd>
<dt><a href="http://games.greggman.com/game/webgl-2d-matrices/">Матрицы в WebGL</a></dt>
- <dd>Введение в использование матриц в двухмерной графике на WebGL. На этом ресурсе объясняется математическая основа перспективы в трехмерной графике.</dd>
+ <dd>Введение в использование матриц в двухмерной графике на WebGL. На этом ресурсе объясняется математическая основа перспективы в трёхмерной графике.</dd>
<dt><a class="external" href="http://learningwebgl.com/cookbook/index.php/" title="http://learningwebgl.com/cookbook/index.php/">Советы по использованию WebGL</a></dt>
<dd>Веб-сайт с советами по написанию кода на WebGL.</dd>
<dt><a class="external" href="http://code.google.com/p/ewgl-matrices/" title="http://code.google.com/p/ewgl-matrices/">ewgl-matrices</a></dt>
diff --git a/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html b/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html
index 55ea7cad8c..4bafecab6d 100644
--- a/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html
@@ -11,7 +11,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context
<h2 id="Отрисовка_сцены">Отрисовка сцены</h2>
-<p>На данном этапе очень важно понять одну вещь: не смотря на то, что мы в этом примере отрисовываем двухмерный объект, мы по-прежнему отрисовываем его в трехмерном пространстве. По существу, нам по-прежнему необходимо создать шейдеры, которые будут освещать нашу простую сцену,  и отрисовать наш объект. На данном шаге определим как квадрат будет освещаться.</p>
+<p>На данном этапе очень важно понять одну вещь: не смотря на то, что мы в этом примере отрисовываем двухмерный объект, мы по-прежнему отрисовываем его в трёхмерном пространстве. По существу, нам по-прежнему необходимо создать шейдеры, которые будут освещать нашу простую сцену,  и отрисовать наш объект. На данном шаге определим как квадрат будет освещаться.</p>
<h3 id="Инициализация_шейдеров">Инициализация шейдеров</h3>
@@ -44,11 +44,11 @@ translation_of: Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context
<p>Этой процедурой загружаются две шейдерные программы. Первая - фрагментный шейдер, загружается из элемента <a href="/en/HTML/Element/Script" title="En/HTML/Element/Script"><code>script</code></a> с ID "shader-fs". Вторая - вершинный шейдер, загружается из элемента <a href="/en/HTML/Element/Script" title="En/HTML/Element/Script"><code>script</code></a> с ID "shader-vs". Мы рассмотрим функцию <code>getShader()</code> чуть ниже. Эта процедура фактически отвечает за извлечение шейдерных программ из DOM.</p>
-<p>Затем мы создаем шейдерную программу, вызывая функцию <code>createProgram()</code> объекта WebGL, присоединяя два шейдера к нему, и связывая шейдерную программу. После выполнения этого, проверяется значение параметра <code>LINK_STATUS</code> объекта <code>gl</code> для того, чтобы убедиться, что программа успешно скомпонована. Если это так, мы активируем новую шейдерную программу.</p>
+<p>Затем мы создаём шейдерную программу, вызывая функцию <code>createProgram()</code> объекта WebGL, присоединяя два шейдера к нему, и связывая шейдерную программу. После выполнения этого, проверяется значение параметра <code>LINK_STATUS</code> объекта <code>gl</code> для того, чтобы убедиться, что программа успешно скомпонована. Если это так, мы активируем новую шейдерную программу.</p>
<h3 id="Загрузка_шейдеров_из_DOM">Загрузка шейдеров из DOM</h3>
-<p>Функция <code>getShader()</code> получает из DOM шейдерную программу с определенным именем, возвращая скомпилированную шейдерную программу вызывающему, или значение null, если шейдерная программа не может быть загружена или скомпилирована.</p>
+<p>Функция <code>getShader()</code> получает из DOM шейдерную программу с определённым именем, возвращая скомпилированную шейдерную программу вызывающему, или значение null, если шейдерная программа не может быть загружена или скомпилирована.</p>
<pre class="brush: js">function getShader(gl, id) {
var shaderScript, theSource, currentChild, shader;
@@ -82,7 +82,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context
     return null;
  }</pre>
-<p>После того, как код для шейдера считан, мы проверяем MIME тип шейдерного объекта, чтобы определить является он вершинным (MIME type "x-shader/x-vertex") или фрагментным (MIME type "x-shader/x-fragment") шейдером, а затем создаем соответствующий тип шейдера из полученного исходного кода.</p>
+<p>После того, как код для шейдера считан, мы проверяем MIME тип шейдерного объекта, чтобы определить является он вершинным (MIME type "x-shader/x-vertex") или фрагментным (MIME type "x-shader/x-fragment") шейдером, а затем создаём соответствующий тип шейдера из полученного исходного кода.</p>
<pre class="brush: js"> gl.shaderSource(shader, theSource);
@@ -109,7 +109,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context
<p>Каждый пиксель в полигоне называется <strong>фрагментом</strong> в языке GL. Фрагментные шейдеры необходимы для назначения цвета для каждого пикселя. В данном случае, мы просто назначаем белый цвет каждому пикселю.</p>
-<p><code>gl_FragColor</code> - встроенная переменная GL, используемая для управления цветом фрагментов. Устанавливая ее значение назначаем цвет пикселям. Ниже приведен пример этого.</p>
+<p><code>gl_FragColor</code> - встроенная переменная GL, используемая для управления цветом фрагментов. Устанавливая её значение назначаем цвет пикселям. Ниже приведён пример этого.</p>
<pre class="brush: html">&lt;script id="shader-fs" type="x-shader/x-fragment"&gt;
  void main(void) {
@@ -136,7 +136,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context
<h2 id="Создание_объекта">Создание объекта</h2>
-<p>Перед тем, как мы отрисуем наш квадрат, нам необходимо создать буфер, который содержит его вершины. Мы сделаем это,  вызвав функцию <code>initBuffers().</code> По мере ознакомления с другими концепциями WebGL, эта функция будет усложняться при создании более сложных трехмерных объектов.</p>
+<p>Перед тем, как мы отрисуем наш квадрат, нам необходимо создать буфер, который содержит его вершины. Мы сделаем это,  вызвав функцию <code>initBuffers().</code> По мере ознакомления с другими концепциями WebGL, эта функция будет усложняться при создании более сложных трёхмерных объектов.</p>
<pre class="brush: js">var horizAspect = 480.0/640.0;
@@ -155,9 +155,9 @@ function initBuffers() {
}
</pre>
-<p>В этом примере эта функция упрощена и дает оценить основную суть сцены. Она начинает работу с вызова метода <code>createBuffer()</code> объекта <code>gl</code> для получения буфера, в котором мы будем хранить вершины. Затем он привязывается к контексту, вызовом метода <code>bindBuffer()</code>.</p>
+<p>В этом примере эта функция упрощена и даёт оценить основную суть сцены. Она начинает работу с вызова метода <code>createBuffer()</code> объекта <code>gl</code> для получения буфера, в котором мы будем хранить вершины. Затем он привязывается к контексту, вызовом метода <code>bindBuffer()</code>.</p>
-<p>После того, как мы это сделали, мы создаем JavaScript массив, содержащий координаты для каждой вершины квадрата. Затем этот массив преобразуется в массив вещественных чисел WebGL и передается в метод <code>bufferData()</code> объекта <code>gl</code> для назначения вершин объекту.</p>
+<p>После того, как мы это сделали, мы создаём JavaScript массив, содержащий координаты для каждой вершины квадрата. Затем этот массив преобразуется в массив вещественных чисел WebGL и передаётся в метод <code>bufferData()</code> объекта <code>gl</code> для назначения вершин объекту.</p>
<h2 id="Отрисовка_сцены_2">Отрисовка сцены</h2>
@@ -180,17 +180,17 @@ function initBuffers() {
<p>Первый шаг - очистка цветом фона сцены контекста. Затем мы устанавливаем перспективу камеры. Мы устанавливаем угол обзора в 45°, с соотношением ширины к высоте равным 640/480 (размеры нашего объекта canvas). Мы также определяем, что мы хотим видеть отрисованными объекты на расстоянии от 0.1 до 100 единиц от камеры.</p>
-<p>Затем мы устанавливаем позицию квадрата, загружая определенную позицию и размещая ее от камеры на 6 единиц. После этого, мы привязываем буфер, содержащий вершины квадрата к контексту, настраиваем его, и отрисовываем объект, вызывая метод <code>drawArrays()</code>.</p>
+<p>Затем мы устанавливаем позицию квадрата, загружая определённую позицию и размещая её от камеры на 6 единиц. После этого, мы привязываем буфер, содержащий вершины квадрата к контексту, настраиваем его, и отрисовываем объект, вызывая метод <code>drawArrays()</code>.</p>
-<p>Вы можете <a href="/samples/webgl/sample2" title="https://developer.mozilla.org/samples/webgl/sample2">посмотреть как это работает щелкнув по этой ссылке</a>. Но это только в том случае, если используемый браузер осуществляет поддержку WebGL.</p>
+<p>Вы можете <a href="/samples/webgl/sample2" title="https://developer.mozilla.org/samples/webgl/sample2">посмотреть как это работает щёлкнув по этой ссылке</a>. Но это только в том случае, если используемый браузер осуществляет поддержку WebGL.</p>
<h2 id="Операции_над_матрицами">Операции над матрицами</h2>
<p>Операции над матрицами достаточно сложны. Никому бы не хотелось самому писать весь код для работы с ними. К счастью, есть <a class="external" href="http://sylvester.jcoglan.com/" title="http://sylvester.jcoglan.com/">Sylvester</a> - очень удобная библиотека для выполнения операций над векторами и матрицами, написанная на JavaScript.</p>
-<p>Файл <code>glUtils.js</code>, используемый в этом примере, используется большинством примеров на WebGL, размещенных в сети интернет. Никто не знает точно откуда он появился. Он просто используется Sylvester и он даже пополняется методами для построения специальных типов матриц, а также вывода HTML для их отображения.</p>
+<p>Файл <code>glUtils.js</code>, используемый в этом примере, используется большинством примеров на WebGL, размещённых в сети интернет. Никто не знает точно откуда он появился. Он просто используется Sylvester и он даже пополняется методами для построения специальных типов матриц, а также вывода HTML для их отображения.</p>
-<p>Также, этот пример определяет несколько полезных процедур взаимодействия с этими библиотеками для выполнения определенных задач. Пояснения относительно того, что делает каждая из приведенных функций, выходят за рамки этого примера, но в сети есть много хороших материалов об операциях над матрицами. Чуть {{ anch("ниже") }} есть список некоторых из них.</p>
+<p>Также, этот пример определяет несколько полезных процедур взаимодействия с этими библиотеками для выполнения определённых задач. Пояснения относительно того, что делает каждая из приведённых функций, выходят за рамки этого примера, но в сети есть много хороших материалов об операциях над матрицами. Чуть {{ anch("ниже") }} есть список некоторых из них.</p>
<pre class="brush: js">function loadIdentity() {
mvMatrix = Matrix.I(4);
diff --git a/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html
index 919d3fccff..af607e92cf 100644
--- a/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Animating_objects_with_WebGL
<pre class="brush: js">var squareRotation = 0.0;
</pre>
-<p>Теперь нам надо изменить процедуру <code>drawScene()</code> и добавить в неё код, который бы учитывал этот угол поворота при отрисовке квадрата в нашей сцене. После первоначального расчета матрицы положения для квадрата мы применяем условия поворота следующим образом:</p>
+<p>Теперь нам надо изменить процедуру <code>drawScene()</code> и добавить в неё код, который бы учитывал этот угол поворота при отрисовке квадрата в нашей сцене. После первоначального расчёта матрицы положения для квадрата мы применяем условия поворота следующим образом:</p>
<pre class="brush: js">mvPushMatrix();
mvRotate(squareRotation, [1, 0, 1]);
diff --git a/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html
index 0684b89016..f9390f7fe2 100644
--- a/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html
@@ -9,9 +9,9 @@ original_slug: Web/API/WebGL_API/Tutorial/Создание_3D_объектов_
---
<p>{{WebGLSidebar("Tutorial")}} {{PreviousNext("Web/API/WebGL_API/Tutorial/Animating_objects_with_WebGL", "Web/API/WebGL_API/Tutorial/Using_textures_in_WebGL")}}</p>
-<p>Давайте поместим наш квадрат в трехмерное пространство, добавив еще 5 граней, чтобы получить куб. Чтобы сделать это наиболее продуктивно, вместо рисования вершин непосредственным вызовом метода {{domxref("WebGLRenderingContext.drawArrays()", "gl.drawArrays()")}} , мы будем использовать массив вершин в виде таблицы и ссылаться на каждую вершину в этой таблице, чтобы определить положение каждой вершины грани, вызывая {{domxref("WebGLRenderingContext.drawElements()", "gl.drawElements()")}}.</p>
+<p>Давайте поместим наш квадрат в трёхмерное пространство, добавив ещё 5 граней, чтобы получить куб. Чтобы сделать это наиболее продуктивно, вместо рисования вершин непосредственным вызовом метода {{domxref("WebGLRenderingContext.drawArrays()", "gl.drawArrays()")}} , мы будем использовать массив вершин в виде таблицы и ссылаться на каждую вершину в этой таблице, чтобы определить положение каждой вершины грани, вызывая {{domxref("WebGLRenderingContext.drawElements()", "gl.drawElements()")}}.</p>
-<p>Заметим: чтобы определить каждую грань необходимо четыре вершины, но каждая вершина принадлежит трем граням. Мы можем передавать намного меньше данных, построив список всех 24-х вершин, затем ссылаться на каждую из них в этом списке по её индексу, вместо того чтобы передавать все множество вершин. Если вы удивлены, почему нам нужны 24 вершины, а не только 8, так это потому, что каждое ребро принадлежит трем граням разных цветов, и каждая отдельная вершина должна иметь конкретный отдельный цвет - поэтому мы создадим 3 копии каждой вершины трех разных цветов, по одной для каждой грани.</p>
+<p>Заметим: чтобы определить каждую грань необходимо четыре вершины, но каждая вершина принадлежит трём граням. Мы можем передавать намного меньше данных, построив список всех 24-х вершин, затем ссылаться на каждую из них в этом списке по её индексу, вместо того чтобы передавать все множество вершин. Если вы удивлены, почему нам нужны 24 вершины, а не только 8, так это потому, что каждое ребро принадлежит трём граням разных цветов, и каждая отдельная вершина должна иметь конкретный отдельный цвет - поэтому мы создадим 3 копии каждой вершины трёх разных цветов, по одной для каждой грани.</p>
<h2 id="Определение_позиций_вершин_куба">Определение позиций вершин куба</h2>
diff --git a/files/ru/web/api/webgl_api/tutorial/getting_started_with_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/getting_started_with_webgl/index.html
index 0e50af82fa..c42db89750 100644
--- a/files/ru/web/api/webgl_api/tutorial/getting_started_with_webgl/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/getting_started_with_webgl/index.html
@@ -7,9 +7,9 @@ translation_of: Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL
---
<p>{{WebGLSidebar("Tutorial")}} {{Next("Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context")}}</p>
-<p><a class="external" href="http://www.khronos.org/webgl/" title="http://www.khronos.org/webgl/">WebGL</a> позволяет веб-контенту использовать API, основанный на <a class="external" href="http://www.khronos.org/opengles/" title="http://www.khronos.org/opengles/">OpenGL ES</a> 2.0, для визуализации трехмерной графики без использования плагинов в HTML элементе <a class="internal" href="/en/HTML/Canvas" title="en/HTML/Canvas"><code>canvas</code></a> в браузерах, которые осуществляют его поддержку. WebGL программы состоят из кода управления, написанном на JavaScript и кода специальных эффектов (шейдерного кода), который выполняется на графическом процессоре. WebGL элементы могут быть смешаны с другими HTML элементами и собраны с другими частями веб-страницы или фоном веб-страницы.</p>
+<p><a class="external" href="http://www.khronos.org/webgl/" title="http://www.khronos.org/webgl/">WebGL</a> позволяет веб-контенту использовать API, основанный на <a class="external" href="http://www.khronos.org/opengles/" title="http://www.khronos.org/opengles/">OpenGL ES</a> 2.0, для визуализации трёхмерной графики без использования плагинов в HTML элементе <a class="internal" href="/en/HTML/Canvas" title="en/HTML/Canvas"><code>canvas</code></a> в браузерах, которые осуществляют его поддержку. WebGL программы состоят из кода управления, написанном на JavaScript и кода специальных эффектов (шейдерного кода), который выполняется на графическом процессоре. WebGL элементы могут быть смешаны с другими HTML элементами и собраны с другими частями веб-страницы или фоном веб-страницы.</p>
-<p>Эта статья знакомит вас с основами использования WebGL. Предполагается, что вы уже знакомы с математическими основами трехмерной графики. Данная статья не обучит вас OpenGL.</p>
+<p>Эта статья знакомит вас с основами использования WebGL. Предполагается, что вы уже знакомы с математическими основами трёхмерной графики. Данная статья не обучит вас OpenGL.</p>
<h2 id="Подготовка_к_визуализации_в_3D">Подготовка к визуализации в 3D</h2>
@@ -24,7 +24,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL
<h3 id="Подготовка_контекста_WebGL">Подготовка контекста WebGL</h3>
-<p>Функция <code>start()</code>, в нашем JavaScript коде вызывается после загрузки документа. Ее назначение - настройка контекста WebGL и начать отрисовку содержимого.</p>
+<p>Функция <code>start()</code>, в нашем JavaScript коде вызывается после загрузки документа. Её назначение - настройка контекста WebGL и начать отрисовку содержимого.</p>
<pre class="brush: js">var gl; // глобальная переменная для контекста WebGL
@@ -36,7 +36,7 @@ function start() {
// продолжать только если WebGL доступен и работает
if (gl) {
- gl.clearColor(0.0, 0.0, 0.0, 1.0); // установить в качестве цвета очистки буфера цвета черный, полная непрозрачность
+ gl.clearColor(0.0, 0.0, 0.0, 1.0); // установить в качестве цвета очистки буфера цвета чёрный, полная непрозрачность
gl.enable(gl.DEPTH_TEST); // включает использование буфера глубины
gl.depthFunc(gl.LEQUAL); // определяет работу буфера глубины: более ближние объекты перекрывают дальние
gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT); // очистить буфер цвета и буфер глубины.
@@ -44,13 +44,13 @@ function start() {
}
</pre>
-<p>Первое, что мы здесь делаем - получаем ссылку на элемент canvas, помещаем ее в переменную <code>canvas</code>. Очевидно, что если вам не требуется многократно получать ссылку на canvas, вы должны избежать сохранения этого значения глобально, а только сохранить ее в локальной переменной или в поле объекта.</p>
+<p>Первое, что мы здесь делаем - получаем ссылку на элемент canvas, помещаем её в переменную <code>canvas</code>. Очевидно, что если вам не требуется многократно получать ссылку на canvas, вы должны избежать сохранения этого значения глобально, а только сохранить её в локальной переменной или в поле объекта.</p>
-<p>Как только мы получили ссылку на canvas, мы вызываем функцию <code>initWebGL()</code>; Эту функцию мы определяем незамедлительно, ее работа - инициализировать контекст WebGL.</p>
+<p>Как только мы получили ссылку на canvas, мы вызываем функцию <code>initWebGL()</code>; Эту функцию мы определяем незамедлительно, её работа - инициализировать контекст WebGL.</p>
-<p>Если контекст успешно инициализирован, в <code>gl</code> будет содержаться ссылка на него. В этом случае, мы устанавливаем цвет очистки буфера цвета (цвет фона) на черный, затем очищаем контекст этим цветом. После этого, контекст конфигурируется параметрами настройки. В данном случае, мы включаем буфер глубины и определяем, что более близкие объекты будут перекрывать более дальние.</p>
+<p>Если контекст успешно инициализирован, в <code>gl</code> будет содержаться ссылка на него. В этом случае, мы устанавливаем цвет очистки буфера цвета (цвет фона) на чёрный, затем очищаем контекст этим цветом. После этого, контекст конфигурируется параметрами настройки. В данном случае, мы включаем буфер глубины и определяем, что более близкие объекты будут перекрывать более дальние.</p>
-<p>Всё вышеперечисленное необходимо сделать только для первоначальной инициализации. Чуть позже мы увидим работу по визуализации трехмерных объектов.</p>
+<p>Всё вышеперечисленное необходимо сделать только для первоначальной инициализации. Чуть позже мы увидим работу по визуализации трёхмерных объектов.</p>
<h3 id="Создание_контекста_WebGL">Создание контекста WebGL</h3>
@@ -80,19 +80,19 @@ function start() {
<div class="note"><strong>Обратите внимание:</strong> Контекст, именуемый как "experimental-webgl" - это временное имя для контекста, используемое на время процесса разработки спецификации. После того, как спецификация будет полностью разработана будет использоваться только имя контекста "webgl".</div>
-<p>На данном этапе этого кода достаточно, чтобы успешно инициализировать контекст WebGL, и вы увидите пустой черный блок, готовый к заполнению контентом.</p>
+<p>На данном этапе этого кода достаточно, чтобы успешно инициализировать контекст WebGL, и вы увидите пустой чёрный блок, готовый к заполнению контентом.</p>
-<p>Если ваш браузер поддерживает WebGL, то вы можете посмотреть результат выполнения приведенного выше кода, щелкнув по этой <a href="/samples/webgl/sample1/index.html" title="https://developer.mozilla.org/samples/webgl/sample1/index.html">ссылке</a>.</p>
+<p>Если ваш браузер поддерживает WebGL, то вы можете посмотреть результат выполнения приведённого выше кода, щёлкнув по этой <a href="/samples/webgl/sample1/index.html" title="https://developer.mozilla.org/samples/webgl/sample1/index.html">ссылке</a>.</p>
<h3 id="Изменение_размера_контекста_WebGL">Изменение размера контекста WebGL</h3>
-<p>Новый контекст WebGL будет иметь возможность задания размеров области отображения в момент получения контекста путем задания высоты и ширины элемента canvas, без использования CSS. Редактирование стиля элемента canvas будет изменять его отображаемый размер, без изменения размеров области отрисовки. Редактирование атрибутов ширины и высоты элемента canvas после создания контекста не будет также изменять число пикселей для отрисовки. Чтобы изменить размер области отрисовки, с которой WebGL производит работу, например, когда пользователь изменяет размер окна на весь экран или когда вам необходимо менять настройки графики в самом приложении, вам необходимо вызвать контекстную функцию WebGL <code>viewport()</code>, чтобы подтвердить изменения.</p>
+<p>Новый контекст WebGL будет иметь возможность задания размеров области отображения в момент получения контекста путём задания высоты и ширины элемента canvas, без использования CSS. Редактирование стиля элемента canvas будет изменять его отображаемый размер, без изменения размеров области отрисовки. Редактирование атрибутов ширины и высоты элемента canvas после создания контекста не будет также изменять число пикселей для отрисовки. Чтобы изменить размер области отрисовки, с которой WebGL производит работу, например, когда пользователь изменяет размер окна на весь экран или когда вам необходимо менять настройки графики в самом приложении, вам необходимо вызвать контекстную функцию WebGL <code>viewport()</code>, чтобы подтвердить изменения.</p>
<p>Чтобы изменить размер области отрисовки контекста WebGL с переменными <code>gl</code> и <code>canvas</code>, использующимися в примере выше:</p>
<pre class="brush: js">gl.viewport(0, 0, canvas.width, canvas.height);</pre>
-<p>Элемент canvas будет изменять размер, в случае, если его отрисовать с другими размерами области отрисовки, чем те, что указаны в его стилях CSS, согласно которым он занимает место на экране. Изменение размера с помощью CSS наиболее полезно для сохранения ресурсов, отрисовывая с низким разрешением и позволяя браузеру растягивать полученный результат; сжимать возможно при использовании эффекта избыточной выборки сглаживания ( super sample antialiasing - SSAA) (приводит к менее приемлемым результатам и серьезным потерям производительности). В большинстве случаев лучше полагаться на множественную выборку сглаживания (<abbr style="line-height: 24px;" title='"Multisample'>MSAA) и </abbr>на реализацию алгоритмов фильтрации текстур, которые поддерживаются браузером пользователя, чем делать то же самое посредством грубой силы и надеяться, что алгоритм масштабирования изображений, используемый браузером, выдаст красивый результат.</p>
+<p>Элемент canvas будет изменять размер, в случае, если его отрисовать с другими размерами области отрисовки, чем те, что указаны в его стилях CSS, согласно которым он занимает место на экране. Изменение размера с помощью CSS наиболее полезно для сохранения ресурсов, отрисовывая с низким разрешением и позволяя браузеру растягивать полученный результат; сжимать возможно при использовании эффекта избыточной выборки сглаживания ( super sample antialiasing - SSAA) (приводит к менее приемлемым результатам и серьёзным потерям производительности). В большинстве случаев лучше полагаться на множественную выборку сглаживания (<abbr style="line-height: 24px;" title='"Multisample'>MSAA) и </abbr>на реализацию алгоритмов фильтрации текстур, которые поддерживаются браузером пользователя, чем делать то же самое посредством грубой силы и надеяться, что алгоритм масштабирования изображений, используемый браузером, выдаст красивый результат.</p>
<h3 id="Смотрите_также">Смотрите также</h3>
diff --git a/files/ru/web/api/webgl_api/tutorial/index.html b/files/ru/web/api/webgl_api/tutorial/index.html
index 9b0f0f75e6..88f55bf361 100644
--- a/files/ru/web/api/webgl_api/tutorial/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/WebGL_API/Tutorial
<h2 id="Перед_тем_как_начать">Перед тем как начать</h2>
-<p>Использование элемента <code>&lt;canvas&gt;</code>  - это не сложно, но вы должны понимать основы <a href="/en-US/docs/Web/HTML" title="HTML">HTML</a> и <a href="/en-US/docs/Web/JavaScript" title="JavaScript">JavaScript</a>. <code>&lt;canvas&gt;</code> и WebGL не поддерживаются в некоторых старых браузерах, но поддерживаются в последних версиях всех основных. Чтобы рисовать графику на canvas нужно использовать объекты контекста JavaScript, который создает графику на лету.</p>
+<p>Использование элемента <code>&lt;canvas&gt;</code>  - это не сложно, но вы должны понимать основы <a href="/en-US/docs/Web/HTML" title="HTML">HTML</a> и <a href="/en-US/docs/Web/JavaScript" title="JavaScript">JavaScript</a>. <code>&lt;canvas&gt;</code> и WebGL не поддерживаются в некоторых старых браузерах, но поддерживаются в последних версиях всех основных. Чтобы рисовать графику на canvas нужно использовать объекты контекста JavaScript, который создаёт графику на лету.</p>
<h2 id="В_этом_руководстве">В этом руководстве</h2>
@@ -35,5 +35,5 @@ translation_of: Web/API/WebGL_API/Tutorial
<dt><a href="/en-US/docs/Web/API/WebGL_API/Tutorial/Lighting_in_WebGL">Освещение объектов в WebGL</a></dt>
<dd>Как симулировать эффект света в контексте WebGL.</dd>
<dt><a href="/en-US/docs/Web/API/WebGL_API/Tutorial/Animating_textures_in_WebGL">Анимирование текстур в WebGL</a></dt>
- <dd>Как анимировать текстуры; здесь путем отображения Ogg видео на поверхность вращающегося куба.</dd>
+ <dd>Как анимировать текстуры; здесь путём отображения Ogg видео на поверхность вращающегося куба.</dd>
</dl>
diff --git a/files/ru/web/api/webgl_api/tutorial/lighting_in_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/lighting_in_webgl/index.html
index 57c1b21e35..f1645ba200 100644
--- a/files/ru/web/api/webgl_api/tutorial/lighting_in_webgl/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/lighting_in_webgl/index.html
@@ -15,7 +15,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Lighting_in_WebGL
<p><strong>Окружающий свет</strong> освещает всю сцену. Он не направленный и освещает все грани всех объектов одинаково, не зависимо от ориентации граней.</p>
-<p><strong>Направленный свет</strong> исходит из определенного направления. Этот свет приходит от настолько удаленного источника, что все фотоны летят параллельно друг другу. К примеру, солнечный свет можно считать.</p>
+<p><strong>Направленный свет</strong> исходит из определённого направления. Этот свет приходит от настолько удалённого источника, что все фотоны летят параллельно друг другу. К примеру, солнечный свет можно считать.</p>
<p><strong>Точечный свет</strong> исходит из одной точки во всех направлениях. В реальном мире многие источники освещения являются точечными, например электрическая лампочка.</p>
@@ -28,11 +28,11 @@ translation_of: Web/API/WebGL_API/Tutorial/Lighting_in_WebGL
<li>Нам нужно знать направление, в котором распространяется свет. Оно определяется <strong>вектором направления</strong>.</li>
</ol>
-<p>Затем мы обновим вершинный шейдер, чтобы скорректировать цвет каждой вершины в зависимости от окружающего и направленного освещения с учетом угла падения на грань. Мы увидим, как это делается, когда посмотрим на код шейдера.</p>
+<p>Затем мы обновим вершинный шейдер, чтобы скорректировать цвет каждой вершины в зависимости от окружающего и направленного освещения с учётом угла падения на грань. Мы увидим, как это делается, когда посмотрим на код шейдера.</p>
<h2 id="Построение_нормали_для_вершин">Построение нормали для вершин</h2>
-<p>Сначала нам нужно создать массив нормалей для всех вершин, из которых состоит наш куб. Это будет просто, потому что куб очень простой объект. Очевидно, что для более сложных объектов расчет нормалей будет более затратным.</p>
+<p>Сначала нам нужно создать массив нормалей для всех вершин, из которых состоит наш куб. Это будет просто, потому что куб очень простой объект. Очевидно, что для более сложных объектов расчёт нормалей будет более затратным.</p>
<pre class="brush: js">  const normalBuffer = gl.createBuffer();
  gl.bindBuffer(gl.ARRAY_BUFFER, normalBuffer);
@@ -89,7 +89,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Lighting_in_WebGL
</pre>
-<p>Код уже должен выглядеть узнаваемо. Мы создаем новый буфер, связываем его с рабочим буфером и записываем в него массив нормалей к вершинам при помощи <code>bufferData()</code>.</p>
+<p>Код уже должен выглядеть узнаваемо. Мы создаём новый буфер, связываем его с рабочим буфером и записываем в него массив нормалей к вершинам при помощи <code>bufferData()</code>.</p>
<p>Затем добавим в <code>drawScene()</code> код, который свяжет массив нормалей с атрибутом шейдера. Таким образом шейдер сможет получить к нему доступ:</p>
@@ -114,7 +114,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Lighting_in_WebGL
  }
</pre>
-<p>В конце нужно обновить код, который строит матрицы для uniform-переменных, чтобы создать и передать в шейдер <strong>матрицу нормалей</strong>, которая используется для трансформации нормалей при расчете ориентации куба относительно направления на источник света:</p>
+<p>В конце нужно обновить код, который строит матрицы для uniform-переменных, чтобы создать и передать в шейдер <strong>матрицу нормалей</strong>, которая используется для трансформации нормалей при расчёте ориентации куба относительно направления на источник света:</p>
<pre class="brush: js">  const normalMatrix = mat4.create();
  mat4.invert(normalMatrix, modelViewMatrix);
@@ -166,15 +166,15 @@ translation_of: Web/API/WebGL_API/Tutorial/Lighting_in_WebGL
  `;
</pre>
-<p>После расчета позиции вершины мы передаем координаты текселя ({{Glossary("texel")}}), соответствующего вершине, во фрагментный шейдер, и начинаем расчет освещения вершины.</p>
+<p>После расчёта позиции вершины мы передаём координаты текселя ({{Glossary("texel")}}), соответствующего вершине, во фрагментный шейдер, и начинаем расчёт освещения вершины.</p>
<p>Сначала нужно преобразовать нормаль, основываясь на текущей ориентации куба - умножив нормаль вершины на матрицу нормалей. Затем мы можем рассчитать количество света от направленного источника, которое приходит в вершину, посчитав скалярное произведение преобразованной нормали и вектора направления (направления, с которого приходит свет). Если скалярное произведение меньше нуля, то мы принимаем его за ноль, потому что количество света не может быть меньше 0.</p>
-<p>После расчета количества падающего направленного света мы можем посчитать финальное освещение, сложив окружающий свет и произведение количества направленного света на его цвет. В результате получается значение RGB, которое используется фрагментным шейдером для изменения цвета каждого пикселя.</p>
+<p>После расчёта количества падающего направленного света мы можем посчитать финальное освещение, сложив окружающий свет и произведение количества направленного света на его цвет. В результате получается значение RGB, которое используется фрагментным шейдером для изменения цвета каждого пикселя.</p>
<h3 id="Фрагментный_шейдер">Фрагментный шейдер</h3>
-<p>Фрагментный шейдер должен быть обновлен таким образом, чтобы он учитывал в значение освещения, рассчитанное в вершинном шейдере:</p>
+<p>Фрагментный шейдер должен быть обновлён таким образом, чтобы он учитывал в значение освещения, рассчитанное в вершинном шейдере:</p>
<pre class="brush: js">  const fsSource = `
    varying highp vec2 vTextureCoord;
diff --git a/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html
index 0c01467385..1e3a2c7358 100644
--- a/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html
@@ -11,14 +11,14 @@ translation_of: Web/API/WebGL_API/Tutorial/Using_shaders_to_apply_color_in_WebGL
<h2 id="Задание_цвета_вершинам">Задание цвета вершинам</h2>
-<p>В GL, объекты строятся с использованием наборов вершин, для каждой из которых задается положение в пространстве и цвет. По умолчанию, цвета всех остальных пикселей (и все их другие атрибуты, включая положение в пространстве) вычисляются с использованием линейной интерполяции, автоматически создавая плавный градиент. В прошлый раз наш вершинный шейдер не задавал определенных цветов вершинам, а фрагментный шейдер назначил фиксированный белый цвет каждому пикселю, поэтому квадрат целиком был отрисован белым цветом.</p>
+<p>В GL, объекты строятся с использованием наборов вершин, для каждой из которых задаётся положение в пространстве и цвет. По умолчанию, цвета всех остальных пикселей (и все их другие атрибуты, включая положение в пространстве) вычисляются с использованием линейной интерполяции, автоматически создавая плавный градиент. В прошлый раз наш вершинный шейдер не задавал определённых цветов вершинам, а фрагментный шейдер назначил фиксированный белый цвет каждому пикселю, поэтому квадрат целиком был отрисован белым цветом.</p>
-<p>Предположим, что мы хотим отрисовать градиент, в котором каждый угол квадрата разного цвета: красного, синего, зеленого и белый. Первое, что необходимо сделать - назначить эти цвета четырем вершинам. Чтобы сделать это, нам сначала необходимо создать массив цветов вершин, а затем сохранить его в WebGL буфер. Мы сделаем это, добавив следующий код в нашу функцию <code>initBuffers()</code>:</p>
+<p>Предположим, что мы хотим отрисовать градиент, в котором каждый угол квадрата разного цвета: красного, синего, зелёного и белый. Первое, что необходимо сделать - назначить эти цвета четырём вершинам. Чтобы сделать это, нам сначала необходимо создать массив цветов вершин, а затем сохранить его в WebGL буфер. Мы сделаем это, добавив следующий код в нашу функцию <code>initBuffers()</code>:</p>
<pre class="brush: js"> var colors = [
1.0, 1.0, 1.0, 1.0, // белый
1.0, 0.0, 0.0, 1.0, // красный
- 0.0, 1.0, 0.0, 1.0, // зеленый
+ 0.0, 1.0, 0.0, 1.0, // зелёный
0.0, 0.0, 1.0, 1.0 // синий
];
@@ -48,11 +48,11 @@ translation_of: Web/API/WebGL_API/Tutorial/Using_shaders_to_apply_color_in_WebGL
&lt;/script&gt;
</pre>
-<p>Ключевым отличием здесь является то, что для каждой вершины, мы задаем цвет на соответствующее значение из массива цвета.</p>
+<p>Ключевым отличием здесь является то, что для каждой вершины, мы задаём цвет на соответствующее значение из массива цвета.</p>
<h2 id="Окраска_фрагментов">Окраска фрагментов</h2>
-<p>Чтобы напомнить, как фрагментный шейдер выглядел ранее, ниже приведен его код:</p>
+<p>Чтобы напомнить, как фрагментный шейдер выглядел ранее, ниже приведён его код:</p>
<pre class="brush: html"> &lt;script id="shader-fs" type="x-shader/x-fragment"&gt;
      void main(void) {
@@ -88,7 +88,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Using_shaders_to_apply_color_in_WebGL
gl.vertexAttribPointer(vertexColorAttribute, 4, gl.FLOAT, false, 0, 0);
</pre>
-<p>На этом этапе, вы можете посмотреть <a href="/samples/webgl/sample3/index.html" title="https://developer.mozilla.org/samples/webgl/sample3/index.html">результат работы написанного кода</a>, если используете браузер, поддерживающий WebGL. Вы увидите нечто похожее на следующий рисунок (расположенный по центру в большом черном поле):</p>
+<p>На этом этапе, вы можете посмотреть <a href="/samples/webgl/sample3/index.html" title="https://developer.mozilla.org/samples/webgl/sample3/index.html">результат работы написанного кода</a>, если используете браузер, поддерживающий WebGL. Вы увидите нечто похожее на следующий рисунок (расположенный по центру в большом чёрном поле):</p>
<p><img alt="screenshot.png" class="default internal" src="/@api/deki/files/4081/=screenshot.png"></p>
diff --git a/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html
index 706bf00786..5d3b79d1bc 100644
--- a/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html
+++ b/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Using_textures_in_WebGL
---
<p>{{WebGLSidebar("Tutorial")}} {{PreviousNext("Web/API/WebGL_API/Tutorial/Creating_3D_objects_using_WebGL", "Web/API/WebGL_API/Tutorial/Lighting_in_WebGL")}}</p>
-<p>Сейчас наша программа рисует вращающийся объемный куб - давайте натянем на него текстуру вместо заливки граней одним цветом.</p>
+<p>Сейчас наша программа рисует вращающийся объёмный куб - давайте натянем на него текстуру вместо заливки граней одним цветом.</p>
<h2 id="Загрузка_текстур">Загрузка текстур</h2>
@@ -52,7 +52,7 @@ function loadTexture(gl, url) {
// и к не имеющим размер степени 2, поэтому проверяем, что изображение
  // имеет размер степени 2 в обеих измерениях.
if (isPowerOf2(image.width) &amp;&amp; isPowerOf2(image.height)) {
- // Размер соответствует степени 2. Создаем MIP'ы.
+ // Размер соответствует степени 2. Создаём MIP'ы.
gl.generateMipmap(gl.TEXTURE_2D);
} else {
// Размер не соответствует степени 2.
@@ -71,15 +71,15 @@ function isPowerOf2(value) {
return (value &amp; (value - 1)) == 0;
}</code></pre>
-<p>Функция <code>loadTexture()</code> начинается с создания объекта WebGL <code>texture</code> вызовом функции {{domxref("WebGLRenderingContext.createTexture()", "createTexture()")}}. Сначала функция создает текстуру из единственного голубого пикселя, используя {{domxref("WebGLRenderingContext.texImage2D()", "texImage2D()")}}. Таким образом текстура может быть использована сразу (как сплошной голубой цвет) при том, что загрузка изображения может занять некоторое время.</p>
+<p>Функция <code>loadTexture()</code> начинается с создания объекта WebGL <code>texture</code> вызовом функции {{domxref("WebGLRenderingContext.createTexture()", "createTexture()")}}. Сначала функция создаёт текстуру из единственного голубого пикселя, используя {{domxref("WebGLRenderingContext.texImage2D()", "texImage2D()")}}. Таким образом текстура может быть использована сразу (как сплошной голубой цвет) при том, что загрузка изображения может занять некоторое время.</p>
-<p>Чтобы загрузить текстуру из файла изображения, функция создает объект <code>Image</code> и присваивает атрибуту <code>src</code> адрес, с которого мы хотим загрузить текстуру. Функция, которую мы назначили на событие <code>image.onload</code>,будет вызвана после завершения загрузки изображения. В этот момент мы вызываем {{domxref("WebGLRenderingContext.texImage2D()", "texImage2D()")}}, используя загруженное изображение как исходник для текстуры. Затем мы устанавливаем фильтрацию и натяжение, исходя из того, является ли размер изображения степенью 2 или нет.</p>
+<p>Чтобы загрузить текстуру из файла изображения, функция создаёт объект <code>Image</code> и присваивает атрибуту <code>src</code> адрес, с которого мы хотим загрузить текстуру. Функция, которую мы назначили на событие <code>image.onload</code>,будет вызвана после завершения загрузки изображения. В этот момент мы вызываем {{domxref("WebGLRenderingContext.texImage2D()", "texImage2D()")}}, используя загруженное изображение как исходник для текстуры. Затем мы устанавливаем фильтрацию и натяжение, исходя из того, является ли размер изображения степенью 2 или нет.</p>
<p>В WebGL1 изображения размера, не являющегося степенью 2, могут использовать только <code>NEAREST</code> или <code>LINEAR</code> фильтрацию, и для них нельзя создать mipmap. Также для таких изображений мы должны установить натяжение <code>CLAMP_TO_EDGE</code>. С другой стороны, если изображение имеет размер степени 2 по обеим осям, WebGL может производить более качественную фильтрацию, использовать mipmap и режимы натяжения <code>REPEAT</code> или <code>MIRRORED_REPEAT</code>.</p>
<p>Примером повторяющейся текстуры является изображение нескольких кирпичей, которое размножается для покрытия поверхности и создания изображения кирпичной стены.</p>
-<p>Мипмаппинг и UV-повторение могут быть отключены с помощью {{domxref("WebGLRenderingContext.texParameter()", "texParameteri()")}}. Так вы сможете использовать текстуры с размером, не являющимся степенью 2 (NPOT - non-power-of-two), ценой отключения мипмаппинга, UV-натяжения, UV-повторения, и вам самому придется контролировать, как именно устройство будет обрабатывать текстуру.</p>
+<p>Мипмаппинг и UV-повторение могут быть отключены с помощью {{domxref("WebGLRenderingContext.texParameter()", "texParameteri()")}}. Так вы сможете использовать текстуры с размером, не являющимся степенью 2 (NPOT - non-power-of-two), ценой отключения мипмаппинга, UV-натяжения, UV-повторения, и вам самому придётся контролировать, как именно устройство будет обрабатывать текстуру.</p>
<pre><code>// также разрешено gl.NEAREST вместо gl.LINEAR, но не mipmap.
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
@@ -88,7 +88,7 @@ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
// Не допускаем повторения по t-координате.
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);</code></pre>
-<p>Повторим, что с этими параметрами совместимые WebGL устройства будут допускать использование текстур с любым разрешением (вплоть до максимального). Без подобной настройки WebGL потерпит неудачу при загрузке NPOT-текстур, и вернёт прозрачный черный цвет <code>rgba(0,0,0,0)</code>.</p>
+<p>Повторим, что с этими параметрами совместимые WebGL устройства будут допускать использование текстур с любым разрешением (вплоть до максимального). Без подобной настройки WebGL потерпит неудачу при загрузке NPOT-текстур, и вернёт прозрачный чёрный цвет <code>rgba(0,0,0,0)</code>.</p>
<p>Для загрузки изображения добавим вызов <code>loadTexture()</code> в функцию <code>main()</code>. Код можно разместить после вызова <code>initBuffers(gl)</code>.</p>
@@ -145,7 +145,7 @@ const texture = loadTexture(gl, 'cubetexture.png');</code></pre>
indices: indexBuffer,
};</code></pre>
-<p>Сначала мы создаем WebGL буфер, в котором сохраняем координаты текстуры для каждой грани, затем связываем его с массивом, в который будем записывать значения.</p>
+<p>Сначала мы создаём WebGL буфер, в котором сохраняем координаты текстуры для каждой грани, затем связываем его с массивом, в который будем записывать значения.</p>
<p>Массив <code>textureCoordinates</code> определяет координаты текстуры, соответствующие каждой вершине каждой грани. Заметьте, что координаты текстуры лежат в промежутке между 0.0 и 1.0. Размерность текстуры нормализуется в пределах между 0.0 и 1.0, независимо от реального размера изображения.</p>
@@ -174,7 +174,7 @@ const texture = loadTexture(gl, 'cubetexture.png');</code></pre>
}
`;</code></pre>
-<p>Ключевое изменение в том, что вместо получения цвета вершины, мы получаем координаты текстуры и передаем их в вершинный шейдер, сообщая положение точки внутри текстуры, которая соответствует вершине.</p>
+<p>Ключевое изменение в том, что вместо получения цвета вершины, мы получаем координаты текстуры и передаём их в вершинный шейдер, сообщая положение точки внутри текстуры, которая соответствует вершине.</p>
<h3 id="Фрагментный_шейдер">Фрагментный шейдер</h3>
diff --git a/files/ru/web/api/webgl_api/webgl_best_practices/index.html b/files/ru/web/api/webgl_api/webgl_best_practices/index.html
index 64dee04e13..eb5aef450a 100644
--- a/files/ru/web/api/webgl_api/webgl_best_practices/index.html
+++ b/files/ru/web/api/webgl_api/webgl_best_practices/index.html
@@ -10,9 +10,9 @@ translation_of: Web/API/WebGL_API/WebGL_best_practices
<h2 id="Чего_следует_избегать">Чего следует избегать</h2>
<ul>
- <li>Убедитесь, что ваше приложение не выдает какие-либо ошибки WebGL, возвращаемые функцией <code>getError(). В Firefox при каждой ошибке (до определенного предела) или при любой другой проблеме в работе WebGL выводится JavaScript предупреждение с подробным описанием. Вам же не хочется, что бы ваше приложение выдавало множество ошибок в консоль, не так ли?</code></li>
+ <li>Убедитесь, что ваше приложение не выдаёт какие-либо ошибки WebGL, возвращаемые функцией <code>getError(). В Firefox при каждой ошибке (до определённого предела) или при любой другой проблеме в работе WebGL выводится JavaScript предупреждение с подробным описанием. Вам же не хочется, что бы ваше приложение выдавало множество ошибок в консоль, не так ли?</code></li>
<li>Не следует использовать <code>#ifdef GL_ES в шейдерах WebGL. Несмотря на то что в некоторых ранних примерах используются эти директивы, это не обязательно в том случае, если проверяемое условие всегда истинно.</code></li>
- <li>Использование высокой точности (<code>highp</code> precision) во фрагментных шейдерах может приводить к несовместимости вашего приложения с некоторыми устаревшими мобильными устройствами. Вы можете использовать среднюю точность (<code>mediump), но помните, что это может привести к некорректному результату отрисовки из-за потери данных на большинстве мобильных устройств, причем этот некорректный результат не будет заметен на обычном компьютере. В общем, только использование высокой точности (highp) в вершинном и фрагментном шейдерах является более надежными решением, если нет возможности тщательно проверить работу шейдеров на различных платформах. В Firefox версии 11 и выше реализована функция WebGL getShaderPrecisionFormat(), которая позволяет проверить, поддерживается ли высокая точность и, более того, запросить реальную точность всех поддерживаемых квалификаторов точности. </code></li>
+ <li>Использование высокой точности (<code>highp</code> precision) во фрагментных шейдерах может приводить к несовместимости вашего приложения с некоторыми устаревшими мобильными устройствами. Вы можете использовать среднюю точность (<code>mediump), но помните, что это может привести к некорректному результату отрисовки из-за потери данных на большинстве мобильных устройств, причём этот некорректный результат не будет заметен на обычном компьютере. В общем, только использование высокой точности (highp) в вершинном и фрагментном шейдерах является более надёжными решением, если нет возможности тщательно проверить работу шейдеров на различных платформах. В Firefox версии 11 и выше реализована функция WebGL getShaderPrecisionFormat(), которая позволяет проверить, поддерживается ли высокая точность и, более того, запросить реальную точность всех поддерживаемых квалификаторов точности. </code></li>
</ul>
<h2 id="О_чем_следует_помнить.">О чем следует помнить.</h2>
@@ -22,7 +22,7 @@ translation_of: Web/API/WebGL_API/WebGL_best_practices
<li>В частности, использование текстур в вершинном шейдере возможно только если значение <code>webgl.getParameter(webgl.MAX_VERTEX_TEXTURE_IMAGE_UNITS) больше ноля. Как правило, эта возможность не поддерживается на текущих мобильных устройствах.</code></li>
<li>Доступность большинства расширений WebGL зависит от клиента. Если это возможно, проектируйте приложение так, чтобы оно оставалось работоспособным даже в случае, когда используемое расширение недоступно. В Firefox версии 10 и выше есть настройка<code> webgl.disable-extensions, позволяющая сымитировать отсутствие всех расширений для проверки переносимости приложения.</code></li>
<li>Рендеринг в floating-point текстуру может не выполняться даже если расширение <code>OES_texture_float поддерживается. Обычно это случается на современных мобильных устройствах. Проверить эту возможность можно с помощью функции WebGL checkFramebufferStatus().</code></li>
- <li>Вы можете выполнять отрисовку на холсте, реальные размеры которого отличается от значений, определенных в таблице стилей. При проблемах с производительностью рассмотрите возможность рендеринга в более низком разрешении. (<em>Уменьшение области рендеринга ускорит обработку пиксельных шейдеров, например, эффектов постобработки</em>, <em>однако, на скорость работы вершинных шейдеров это не повлияет.</em> <span class="forum_post_content med1" style="word-wrap: break-word;"><span class="ln_height" id="post_text_1166974"><em>прим. перев.).</em></span></span></li>
+ <li>Вы можете выполнять отрисовку на холсте, реальные размеры которого отличается от значений, определённых в таблице стилей. При проблемах с производительностью рассмотрите возможность рендеринга в более низком разрешении. (<em>Уменьшение области рендеринга ускорит обработку пиксельных шейдеров, например, эффектов постобработки</em>, <em>однако, на скорость работы вершинных шейдеров это не повлияет.</em> <span class="forum_post_content med1" style="word-wrap: break-word;"><span class="ln_height" id="post_text_1166974"><em>прим. перев.).</em></span></span></li>
</ul>
<h2 id="Общие_советы_по_повышению_производительности">Общие советы по повышению производительности</h2>
@@ -30,7 +30,7 @@ translation_of: Web/API/WebGL_API/WebGL_best_practices
<ul>
<li>Все, что требует синхронизации ЦП и ГП потенциально приводит в уменьшению производительности. Поэтому избегайте в цикле отрисовки следующих вызовов функций WebGL: <code>getError()</code>, <code>readPixels()</code> и <code>finish()</code>. Вызовы функций, получающих значения, такие как <code>getParameter()</code> и <code>getUniformLocation() тоже должны рассматриваться как медленные и их значения следует сохраняться в переменных JavaScript.</code></li>
<li>Несколько больших операций отрисовки выполняются быстрее, чем много мелких. Если вам нужно нарисовать 1000 спрайтов, попробуйте реализовать это одним вызовом функции<code> drawArrays()</code> или <code>drawElements(). Вы также можете использовать вырожденные (плоские) треугольники для рисования нескольких объектов за один вызов drawArrays().</code></li>
- <li>Уменьшение переключений состояний также увеличивает производительность. В частности, если есть возможность упаковать несколько изображений в одну текстуру <em>(т.н. текстурный атлас, прим. перев.)</em> и отображать требуемое изображение с помощью поправок текстурных координат, то это приведет к уменьшению переключений между текстурами, что увеличит производительность.
+ <li>Уменьшение переключений состояний также увеличивает производительность. В частности, если есть возможность упаковать несколько изображений в одну текстуру <em>(т.н. текстурный атлас, прим. перев.)</em> и отображать требуемое изображение с помощью поправок текстурных координат, то это приведёт к уменьшению переключений между текстурами, что увеличит производительность.
<ul>
<li>В некоторых редких случаях разные одноцветные изображения можно упаковать в разные цветовые каналы текстуры.</li>
</ul>
diff --git a/files/ru/web/api/webglrenderingcontext/activetexture/index.html b/files/ru/web/api/webglrenderingcontext/activetexture/index.html
index 4bbea586ed..b23d2c5b8d 100644
--- a/files/ru/web/api/webglrenderingcontext/activetexture/index.html
+++ b/files/ru/web/api/webglrenderingcontext/activetexture/index.html
@@ -43,7 +43,7 @@ translation_of: Web/API/WebGLRenderingContext/activeTexture
<pre class="brush: js">gl.activeTexture(gl.TEXTURE0);
gl.getParameter(gl.ACTIVE_TEXTURE);
-// вернет "33984" (0x84C0, gl.TEXTURE0 enum value)
+// вернёт "33984" (0x84C0, gl.TEXTURE0 enum value)
</pre>
<h2 id="Спецификация">Спецификация</h2>
@@ -70,7 +70,7 @@ gl.getParameter(gl.ACTIVE_TEXTURE);
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
<p>{{Compat("api.WebGLRenderingContext.activeTexture")}}</p>
diff --git a/files/ru/web/api/webglrenderingcontext/bindtexture/index.html b/files/ru/web/api/webglrenderingcontext/bindtexture/index.html
index 2a3fd529b3..38d9a3aaa0 100644
--- a/files/ru/web/api/webglrenderingcontext/bindtexture/index.html
+++ b/files/ru/web/api/webglrenderingcontext/bindtexture/index.html
@@ -22,7 +22,7 @@ translation_of: Web/API/WebGLRenderingContext/bindTexture
<li><code>gl.TEXTURE_CUBE_MAP</code>: кубическая текстура.</li>
<li>При использовании {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, дополнительно доступны:
<ul>
- <li><code>gl.TEXTURE_3D</code>: трехмерная текстура.</li>
+ <li><code>gl.TEXTURE_3D</code>: трёхмерная текстура.</li>
<li><code>gl.TEXTURE_2D_ARRAY</code>: массив двумерных текстур.</li>
</ul>
</li>
@@ -93,7 +93,7 @@ gl.bindTexture(gl.TEXTURE_2D, texture);
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
<p>{{Compat("api.WebGLRenderingContext.bindTexture")}}</p>
diff --git a/files/ru/web/api/webglrenderingcontext/compileshader/index.html b/files/ru/web/api/webglrenderingcontext/compileshader/index.html
index 9ecb9bd735..b68ba5b4be 100644
--- a/files/ru/web/api/webglrenderingcontext/compileshader/index.html
+++ b/files/ru/web/api/webglrenderingcontext/compileshader/index.html
@@ -50,7 +50,7 @@ gl.compileShader(shader);
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
<p>{{Compat("api.WebGLRenderingContext.compileShader")}}</p>
diff --git a/files/ru/web/api/webglrenderingcontext/enable/index.html b/files/ru/web/api/webglrenderingcontext/enable/index.html
index d7cc40db94..fe955d5073 100644
--- a/files/ru/web/api/webglrenderingcontext/enable/index.html
+++ b/files/ru/web/api/webglrenderingcontext/enable/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/WebGLRenderingContext/enable
---
<div>{{APIRef("WebGL")}}</div>
-<p>Метод <strong><code>WebGLRenderingContext.enable()</code></strong> из <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> активирует определенные возможности WebGL для текущего контекста.</p>
+<p>Метод <strong><code>WebGLRenderingContext.enable()</code></strong> из <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> активирует определённые возможности WebGL для текущего контекста.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html b/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html
index e91fa4e851..e34cc75d94 100644
--- a/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html
+++ b/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html
@@ -65,7 +65,7 @@ if (message.length &gt; 0) {
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
<p>{{Compat("api.WebGLRenderingContext.getShaderInfoLog")}}</p>
diff --git a/files/ru/web/api/webglrenderingcontext/index.html b/files/ru/web/api/webglrenderingcontext/index.html
index 2db54961f0..550dc0f367 100644
--- a/files/ru/web/api/webglrenderingcontext/index.html
+++ b/files/ru/web/api/webglrenderingcontext/index.html
@@ -72,11 +72,11 @@ var gl = canvas.getContext('webgl');
<dt>{{domxref("WebGLRenderingContext.blendFuncSeparate()")}}</dt>
<dd>Определяет, какая арифметическая функция используется для смешивания пикселей для RGB и альфа-компонентов по отдельности.</dd>
<dt>{{domxref("WebGLRenderingContext.clearColor()")}}</dt>
- <dd>Задает значения цвета, используемые при очистке цветовых буферов.</dd>
+ <dd>Задаёт значения цвета, используемые при очистке цветовых буферов.</dd>
<dt>{{domxref("WebGLRenderingContext.clearDepth()")}}</dt>
- <dd>Задает значение глубины, используемый при очистке буфера глубины.</dd>
+ <dd>Задаёт значение глубины, используемый при очистке буфера глубины.</dd>
<dt>{{domxref("WebGLRenderingContext.clearStencil()")}}</dt>
- <dd>Задает значение шаблона, используемый при очистке буфера шаблона.</dd>
+ <dd>Задаёт значение шаблона, используемый при очистке буфера шаблона.</dd>
<dt>{{domxref("WebGLRenderingContext.colorMask()")}}</dt>
<dd>Устанавливает какие цветовые компоненты для включены или выключены при отрисовке или рендеринге на{{domxref("WebGLFramebuffer")}}.</dd>
<dt>{{domxref("WebGLRenderingContext.cullFace()")}}</dt>
@@ -98,7 +98,7 @@ var gl = canvas.getContext('webgl');
<dt>{{domxref("WebGLRenderingContext.getError()")}}</dt>
<dd>Возвращает информацию об ошибках.</dd>
<dt>{{domxref("WebGLRenderingContext.hint()")}}</dt>
- <dd>Указывает подсказки для определенного поведения. Интерпретация этих подсказок зависит от реализации.</dd>
+ <dd>Указывает подсказки для определённого поведения. Интерпретация этих подсказок зависит от реализации.</dd>
<dt>{{domxref("WebGLRenderingContext.isEnabled()")}}</dt>
<dd>Проверяет,  включена или нет конкретная способность WebG.</dd>
<dt>{{domxref("WebGLRenderingContext.lineWidth()")}}</dt>
@@ -106,7 +106,7 @@ var gl = canvas.getContext('webgl');
<dt>{{domxref("WebGLRenderingContext.pixelStorei()")}}</dt>
<dd>Определяет режимы хранилища пикселей</dd>
<dt>{{domxref("WebGLRenderingContext.polygonOffset()")}}</dt>
- <dd>Определяет факторы масштабирования  и единицы для расчета значения глубины.</dd>
+ <dd>Определяет факторы масштабирования  и единицы для расчёта значения глубины.</dd>
<dt>{{domxref("WebGLRenderingContext.sampleCoverage()")}}</dt>
<dd>Определяет составные параметры  для сглаживания эффектов.</dd>
<dt>{{domxref("WebGLRenderingContext.stencilFunc()")}}</dt>
diff --git a/files/ru/web/api/webglrenderingcontext/shadersource/index.html b/files/ru/web/api/webglrenderingcontext/shadersource/index.html
index 86ac976ab8..c41d33671f 100644
--- a/files/ru/web/api/webglrenderingcontext/shadersource/index.html
+++ b/files/ru/web/api/webglrenderingcontext/shadersource/index.html
@@ -56,7 +56,7 @@ var source = gl.getShaderSource(shader);</pre>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
<p>{{Compat("api.WebGLRenderingContext.shaderSource")}}</p>
diff --git a/files/ru/web/api/webglrenderingcontext/uniform/index.html b/files/ru/web/api/webglrenderingcontext/uniform/index.html
index 91a02ac2b9..d1f8c30223 100644
--- a/files/ru/web/api/webglrenderingcontext/uniform/index.html
+++ b/files/ru/web/api/webglrenderingcontext/uniform/index.html
@@ -88,7 +88,7 @@ gl.uniform1iv(samplerCubeUniformLoc, [v]); // для samplerCube или масс
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<p class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
+<p class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправить нам запрос на слияние.</p>
<p>{{Compat("api.WebGLRenderingContext.uniform1f")}}</p>
diff --git a/files/ru/web/api/webrtc_api/adapter.js/index.html b/files/ru/web/api/webrtc_api/adapter.js/index.html
index efe5581fc2..575e045e1f 100644
--- a/files/ru/web/api/webrtc_api/adapter.js/index.html
+++ b/files/ru/web/api/webrtc_api/adapter.js/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/WebRTC_API/adapter.js
---
<p>{{WebRTCSidebar}}</p>
-<p>Несмотря на то, что WebRTC <a href="http://www.w3.org/TR/webrtc/">спецификация</a> относительно стабильна, не все еще браузеры полностью реализуют её функциональность. Некоторые реализации в браузерах все еще содержат префиксы производителей в некоторых, или даже всех WebRTC интерфейсах, и разработчик может самостоятельно, в ручную, учесть вопросы несовместимости в своем коде. Но есть более простой выход. Организация <span class="seoSummary">WebRTC</span> <span class="seoSummary"><a href="https://github.com/webrtc/adapter/">предлагает библиотеку adapter.js</a> для обработки вопросов несовместимостей в различных браузерных реализациях WebRTC. Эта библиотека является JavaScript клином, позволяющим писать код в соответствии со спецификацией, чтобы он работал во всех браузерах с различным уровнем поддержки WebRTC. С ней нет необходимости условно использовать префиксные интерфейсы или реализовывать обходные пути</span></p>
+<p>Несмотря на то, что WebRTC <a href="http://www.w3.org/TR/webrtc/">спецификация</a> относительно стабильна, не все ещё браузеры полностью реализуют её функциональность. Некоторые реализации в браузерах все ещё содержат префиксы производителей в некоторых, или даже всех WebRTC интерфейсах, и разработчик может самостоятельно, в ручную, учесть вопросы несовместимости в своём коде. Но есть более простой выход. Организация <span class="seoSummary">WebRTC</span> <span class="seoSummary"><a href="https://github.com/webrtc/adapter/">предлагает библиотеку adapter.js</a> для обработки вопросов несовместимостей в различных браузерных реализациях WebRTC. Эта библиотека является JavaScript клином, позволяющим писать код в соответствии со спецификацией, чтобы он работал во всех браузерах с различным уровнем поддержки WebRTC. С ней нет необходимости условно использовать префиксные интерфейсы или реализовывать обходные пути</span></p>
<div class="note">
<p><strong>Примечание :</strong> Поскольку функциональность и названия API-терминов в WebRTC и поддерживаемых браузерах постоянно изменяются, обычно рекомендуется использовать этот адаптер.</p>
diff --git a/files/ru/web/api/webrtc_api/index.html b/files/ru/web/api/webrtc_api/index.html
index 1c3d082d99..e1563f8e4f 100644
--- a/files/ru/web/api/webrtc_api/index.html
+++ b/files/ru/web/api/webrtc_api/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/WebRTC_API
<p><span class="seoSummary"><strong>WebRTC</strong> (Web Real-Time Communications) - это технология, которая позволяет Web-приложениям и сайтам захватывать и выборочно передавать аудио и/или видео медиа-потоки, а также обмениваться произвольными данными между браузерами, без обязательного использования посредников. Набор стандартов, которые включает в себя технология WebRTC, позволяет обмениваться данными и проводить пиринговые телеконференции, без необходимости пользователю устанавливать плагины или любое другое стороннее программное обеспечение.</span></p>
-<p>WebRTC состоит из нескольких взаимосвязанных программных интерфейсов (API) и протоколов, которые работают вместе. Документация, которую вы здесь найдете, поможет вам понять основы WebRTC, как настроить и использовать соединение для передачи данных и медиа-потока, и многое другое.</p>
+<p>WebRTC состоит из нескольких взаимосвязанных программных интерфейсов (API) и протоколов, которые работают вместе. Документация, которую вы здесь найдёте, поможет вам понять основы WebRTC, как настроить и использовать соединение для передачи данных и медиа-потока, и многое другое.</p>
<h2 id="Совместимость">Совместимость</h2>
@@ -39,7 +39,7 @@ translation_of: Web/API/WebRTC_API
<dl>
<dt>{{domxref("RTCPeerConnection")}}</dt>
- <dd>Представляет  WebRTC соединение между локальным компьютером и удаленным узлом. Используется для обработки успешной передачи данных между двумя узлами.</dd>
+ <dd>Представляет  WebRTC соединение между локальным компьютером и удалённым узлом. Используется для обработки успешной передачи данных между двумя узлами.</dd>
<dt>{{domxref("RTCSessionDescription")}}</dt>
<dd>Представляет параметры сессии. Каждый <code>RTCSessionDescription </code>содержит описания <a href="/en-US/docs/Web/API/RTCSessionDescription/type">типа</a>, показывающего какую часть (предложение/ответ) процесса переговоров он описывает, и <a href="/en-US/docs/Glossary/SDP">SDP</a>-дескриптор сессии<code>.</code></dd>
<dt>{{domxref("RTCIceCandidate")}}</dt>
@@ -47,7 +47,7 @@ translation_of: Web/API/WebRTC_API
<dt>{{domxref("RTCIceTransport")}}</dt>
<dd>Представляет информацию о средстве подключения к Интернету (ICE).</dd>
<dt>{{domxref("RTCPeerConnectionIceEvent")}}</dt>
- <dd>Представляет события, которые происходят в отношении кандидатов ICE, обычно {{domxref ("RTCPeerConnection")}}. Один тип передается данному объекту события: {{event ("icecandidate")}}.</dd>
+ <dd>Представляет события, которые происходят в отношении кандидатов ICE, обычно {{domxref ("RTCPeerConnection")}}. Один тип передаётся данному объекту события: {{event ("icecandidate")}}.</dd>
<dt>{{domxref("RTCRtpSender")}}</dt>
<dd>Управляет кодированием и передачей данных через объект типа  {{domxref("MediaStreamTrack")}} для объекта типа {{domxref("RTCPeerConnection")}}.</dd>
<dt>{{domxref("RTCRtpReceiver")}}</dt>
@@ -59,7 +59,7 @@ translation_of: Web/API/WebRTC_API
<dt>{{domxref("RTCDataChannel")}}</dt>
<dd>Представляет двунаправленный канал данных между двумя узлами соединения.</dd>
<dt>{{domxref("RTCDataChannelEvent")}}</dt>
- <dd>Представляет события, которые возникают при присоединении объекта типа  {{domxref("RTCDataChannel")}} к объекту типа {{domxref("RTCPeerConnection")}}. Один тип передается этому событию {{event("datachannel")}}.</dd>
+ <dd>Представляет события, которые возникают при присоединении объекта типа  {{domxref("RTCDataChannel")}} к объекту типа {{domxref("RTCPeerConnection")}}. Один тип передаётся этому событию {{event("datachannel")}}.</dd>
<dt>{{domxref("RTCDTMFSender")}}</dt>
<dd>Управляет кодированием и передачей  двухтональной мультичастотной  (DTMF) сигнализацией для объекта типа {{domxref("RTCPeerConnection")}}.</dd>
<dt>{{domxref("RTCDTMFToneChangeEvent")}}</dt>
@@ -71,9 +71,9 @@ translation_of: Web/API/WebRTC_API
<dt>{{domxref("RTCIdentityProvider")}}</dt>
<dd>Активирует возможность браузеру запросить создание или проверку объявления идентификации.</dd>
<dt>{{domxref("RTCIdentityAssertion")}}</dt>
- <dd>Представляет идентификатор удаленного узла текущего соединения. Если узел еще не установлен и подтвержден, ссылка на интерфейс вернет <code>null</code>. После установки не изменяется.</dd>
+ <dd>Представляет идентификатор удалённого узла текущего соединения. Если узел ещё не установлен и подтверждён, ссылка на интерфейс вернёт <code>null</code>. После установки не изменяется.</dd>
<dt>{{domxref("RTCIdentityEvent")}}</dt>
- <dd>Представляет объект события объявление идентификатора провайдером идентификации  (idP). Событие объекта типа  {{domxref("RTCPeerConnection")}}. Один тип передается этому событию {{event("identityresult")}}.</dd>
+ <dd>Представляет объект события объявление идентификатора провайдером идентификации  (idP). Событие объекта типа  {{domxref("RTCPeerConnection")}}. Один тип передаётся этому событию {{event("identityresult")}}.</dd>
<dt>{{domxref("RTCIdentityErrorEvent")}}</dt>
<dd>Представляет объект события ошибки, связанной с провайдером идентификации (idP). Событие объекта типа  {{domxref("RTCPeerConnection")}}. Два типа ошибки передаются этому событию : {{event("idpassertionerror")}} и {{event("idpvalidationerror")}}.</dd>
</dl>
@@ -84,11 +84,11 @@ translation_of: Web/API/WebRTC_API
<dt><a href="/en-US/docs/Web/API/WebRTC_API/Architecture">Обзор архитектуры WebRTC</a></dt>
<dd>Под API, который применяют разработчики, чтобы создавать и использовать WebRTC, расположен набор сетевых протоколов и стандартов соединения. Этот обзор - витрина этих стандартов.</dd>
<dt><a href="https://developer.mozilla.org/ru/docs/Web/API/WebRTC_API/Session_lifetime">Жизнь WebRTC-сессии</a></dt>
- <dd>WebRTC позволяет вам организовать соединение в режиме узел-узел для передачи произвольных данных, аудио-, видео-потоков или любую их комбинацию в браузере. В этой статье мы взглянем на жизнь WebRTC-сессии, начиная с установки соединения и пройдем весь путь до его завершения, когда оно больше не нужно.</dd>
+ <dd>WebRTC позволяет вам организовать соединение в режиме узел-узел для передачи произвольных данных, аудио-, видео-потоков или любую их комбинацию в браузере. В этой статье мы взглянем на жизнь WebRTC-сессии, начиная с установки соединения и пройдём весь путь до его завершения, когда оно больше не нужно.</dd>
<dt><a href="/en-US/docs/Web/API/WebRTC_API/Overview">Обзор WebRTC API</a></dt>
<dd>WebRTC состоит из нескольких взаимосвязанных программных интерфейсов (API) и протоколов, которые работают вместе, чтобы обеспечить поддержку обмена данными и медиа-потоками между двумя и более узлами. В этой статье представлен краткий обзор каждого из этих API и какую цель он преследует.</dd>
<dt><a href="/en-US/docs/Web/API/WebRTC_API/WebRTC_basics">Основы WebRTC</a></dt>
- <dd>Эта статья проведет вас через создание кросс-браузерного RTC-приложения. К концу этой статьи вы должны иметь работающий дата- и медиа-канал, работающий в режиме точка-точка.</dd>
+ <dd>Эта статья проведёт вас через создание кросс-браузерного RTC-приложения. К концу этой статьи вы должны иметь работающий дата- и медиа-канал, работающий в режиме точка-точка.</dd>
<dt><a href="/en-US/docs/Web/API/WebRTC_API/Protocols">Протоколы WebRTC</a></dt>
<dd>В этой статье представлены протоколы, в дополнение к которым создан API WebRTC.</dd>
</dl>
@@ -113,7 +113,7 @@ translation_of: Web/API/WebRTC_API
<dt><a href="/en-US/docs/Web/API/WebRTC_API/Simple_RTCDataChannel_sample">Простой пример канала данных RTCDataChannel</a></dt>
<dd>Интерфейс {{domxref("RTCDataChannel")}}  - это функциональность, которая позволяет открыть канал передачи данных между двумя узлами, по которому можно предавать произвольные данные. Эти API намеренно подобны  <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a>, так, что бы в обоих могла использоваться единая модель программирования.</dd>
<dt><a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Сигнализация и двухсторонние видео вызовы</a></dt>
- <dd>Например, мы берем чат на веб сокете, который мы создали в другом примере, и добавляем в него способность создавать видео вызовы. Сервер чата расширяется функциональностью обработки WebRTC сигнализации.</dd>
+ <dd>Например, мы берём чат на веб сокете, который мы создали в другом примере, и добавляем в него способность создавать видео вызовы. Сервер чата расширяется функциональностью обработки WebRTC сигнализации.</dd>
</dl>
<h2 id="Ресурсы_2"><a id="Ресурсы" name="Ресурсы">Ресурсы</a></h2>
diff --git a/files/ru/web/api/webrtc_api/session_lifetime/index.html b/files/ru/web/api/webrtc_api/session_lifetime/index.html
index 0b052b5475..adf957e2fd 100644
--- a/files/ru/web/api/webrtc_api/session_lifetime/index.html
+++ b/files/ru/web/api/webrtc_api/session_lifetime/index.html
@@ -7,11 +7,11 @@ translation_of: Web/API/WebRTC_API/Session_lifetime
<div class="summary">
<dl>
- <dd>WebRTC позволяет браузерным приложениям построить соединение в режиме узел-узел для передачи произвольных данных, аудио-, видео-потоков или любую их комбинацию. В этой статье мы увидим то, как живет WebRTC-сессия, начиная с установки соединения и пройдём через весь путь до его завершения, если соединение больше не нужно.</dd>
+ <dd>WebRTC позволяет браузерным приложениям построить соединение в режиме узел-узел для передачи произвольных данных, аудио-, видео-потоков или любую их комбинацию. В этой статье мы увидим то, как живёт WebRTC-сессия, начиная с установки соединения и пройдём через весь путь до его завершения, если соединение больше не нужно.</dd>
</dl>
</div>
-<p>Эта статья не вдается в детали фактически использованных API в установке и обработке WebRTC-соединения. Это просто обзор процесса в целом с некоторой информацией о том, для чего нужен каждый шаг. Смотрите статью <a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Signaling and video calling</a>, чтобы получить пример с пошаговым объяснением того, что делает код.</p>
+<p>Эта статья не вдаётся в детали фактически использованных API в установке и обработке WebRTC-соединения. Это просто обзор процесса в целом с некоторой информацией о том, для чего нужен каждый шаг. Смотрите статью <a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Signaling and video calling</a>, чтобы получить пример с пошаговым объяснением того, что делает код.</p>
<div class="note">
<p>Эта страница находится в стадии разработки, и некоторое из содержания будут перемещаться на другие страницы, как направляющий материал. </p>
@@ -21,7 +21,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime
<h2 id="Установка_соединения">Установка соединения</h2>
-<p>Интернет большой. Реально большой. Умные люди, несколько лет назад, заметив то, насколько он велик, каким большим он может стать и то как быстро растёт, а также ограничения 32-битной системы адресации протокола IP, и поняли, что нужно начать что-то делать, чтобы создать новую 64-битную систему адресации. Но в какой-то момент они так же пришли к выводу, что переход на новую систему займёт больше времени, чем продержатся 32-разрядные адреса. Затем другие умные люди придумали способ, позволяющий нескольким компьютерам использовать один и тот же 32-итный IP-адрес. Network Address Translation ({{Glossary("NAT")}}) - это стандарт, который поддерживает разделение адреса путем маршрутизации входящих и исходящих пакетов данных в и из локальной сети (LAN), которые разделяют единственный WAN (глобальный) адрес.</p>
+<p>Интернет большой. Реально большой. Умные люди, несколько лет назад, заметив то, насколько он велик, каким большим он может стать и то как быстро растёт, а также ограничения 32-битной системы адресации протокола IP, и поняли, что нужно начать что-то делать, чтобы создать новую 64-битную систему адресации. Но в какой-то момент они так же пришли к выводу, что переход на новую систему займёт больше времени, чем продержатся 32-разрядные адреса. Затем другие умные люди придумали способ, позволяющий нескольким компьютерам использовать один и тот же 32-итный IP-адрес. Network Address Translation ({{Glossary("NAT")}}) - это стандарт, который поддерживает разделение адреса путём маршрутизации входящих и исходящих пакетов данных в и из локальной сети (LAN), которые разделяют единственный WAN (глобальный) адрес.</p>
<p>Проблемой для пользователя является то, что каждый отдельный компьютер в сети Интернет не обязан иметь уникальный IP-адрес, и по сути, IP-адрес устройства может измениться не только тогда, когда оно перемещается из одной сети в другую, но и если их сетевой адрес был изменён {{Glossary("NAT")}} и/или {{interwiki("wikipedia", "DHCP")}}. Для разработчиков, пытающихся строить одноранговые сети, эта ситуация является хорошей головоломкой: без уникального идентификатора для каждого устройства, нет возможности моментально автоматически выяснить то, как подключиться к конкретному устройству в Интернет.  Если вызнаете, с кем вы хотите поговорить, вам не обязательно знать, какой адрес у вашего собеседника.</p>
@@ -31,7 +31,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime
<h3 id="Процесс_Сигнализации">Процесс Сигнализации</h3>
-<p>Сигнализация - это процесс передачи управляющей информации между двумя устройствами для определения протоколов связи, каналов, кодирования и формата медиа-данных,  методов передачи данных, а также информации, необходимой для маршрутизации. Наиболее важная вещь, о которой нужно знать о процессе сигнализации для WebRTC - <strong>этот процесс не определен в спецификации</strong>.</p>
+<p>Сигнализация - это процесс передачи управляющей информации между двумя устройствами для определения протоколов связи, каналов, кодирования и формата медиа-данных,  методов передачи данных, а также информации, необходимой для маршрутизации. Наиболее важная вещь, о которой нужно знать о процессе сигнализации для WebRTC - <strong>этот процесс не определён в спецификации</strong>.</p>
<p>Вы можете задаться вопросом, почему нечто основоположное для процесса установки WebRTC-соединения вынесено из спецификации? Ответ прост: потому как два устройства не могут контактировать друг с другом, и спецификация не может предусмотреть все возможные способы использования WebRTC, также это приобретает ещё больший смысл с точки зрения предоставления разработчику возможности выбора наиболее подходящей сетевой технологии и протоколов передачи сообщений.</p>
@@ -58,18 +58,18 @@ translation_of: Web/API/WebRTC_API/Session_lifetime
<p>Существует последовательность действий, которую нужно выполнить, чтобы стало возможным начало WebRTC-сессии:</p>
<ol>
- <li>Каждый узел создает объект {{domxref("RTCPeerConnection")}}, представляющий собой WebRTC-сессию и сохраняющийся до её завершения.</li>
+ <li>Каждый узел создаёт объект {{domxref("RTCPeerConnection")}}, представляющий собой WebRTC-сессию и сохраняющийся до её завершения.</li>
<li>Каждый узел устанавливает обработчик события {{event("icecandidate")}},которая занимается отправкой этих кандидатов в другую сторону по каналу сигнализации.</li>
- <li>Каждый узел устанавливает обработчик события {{event("addstream")}}, которое срабатывает когда начинает приходить поток данных от удаленного узла. Этот обработчик должен подключить этот поток к потребителю, например к элементу {{HTMLElement("video")}}.</li>
- <li>Вызывающий узел создает уникальный идентификатор, токен или нечто, что сможет идентифицировать вызов на сигнальном сервере, и обмениваться с принимающим узлом. Форма и содержимое идентификатора остается на усмотрение разработчика.</li>
+ <li>Каждый узел устанавливает обработчик события {{event("addstream")}}, которое срабатывает когда начинает приходить поток данных от удалённого узла. Этот обработчик должен подключить этот поток к потребителю, например к элементу {{HTMLElement("video")}}.</li>
+ <li>Вызывающий узел создаёт уникальный идентификатор, токен или нечто, что сможет идентифицировать вызов на сигнальном сервере, и обмениваться с принимающим узлом. Форма и содержимое идентификатора остаётся на усмотрение разработчика.</li>
<li>Каждый узел подключается к согласованному сигнальному серверу, такому например как известный обоим WebSocket-сервер, для обмена сообщениями.</li>
- <li>Каждый узел сообщает сигнальному серверу, что хочет подключиться к одной и той же WebRTC-сессии (идентифицируемой токеном, определенным на шаге 4)</li>
+ <li>Каждый узел сообщает сигнальному серверу, что хочет подключиться к одной и той же WebRTC-сессии (идентифицируемой токеном, определённым на шаге 4)</li>
<li><strong><em>descriptions, candidates, etc. -- more coming up</em></strong></li>
</ol>
<h2 id="Перезапуск_сессии_ICE_агент"><strong>Перезапуск сессии ICE агент</strong></h2>
-<p>Иногда, во время срока службы WebRTC сессии, сетевые условия изменяются. Один из пользователей, возможно, перейдет от сотовой сети к сети WiFi или сеть может стать перегруженной. Например: когда это произойдет, ICE агент может перезапустить сессию. Это процесс, с помощью которого сетевое соединение перезапустится и восстановится, точно таким же образом выполняется начальная установка сессии, за одним исключением того пока не установится новая сессия. Тогда сессия сменяется и переходит к новому сетевому соединению, а старое соединение закрывается.</p>
+<p>Иногда, во время срока службы WebRTC сессии, сетевые условия изменяются. Один из пользователей, возможно, перейдёт от сотовой сети к сети WiFi или сеть может стать перегруженной. Например: когда это произойдёт, ICE агент может перезапустить сессию. Это процесс, с помощью которого сетевое соединение перезапустится и восстановится, точно таким же образом выполняется начальная установка сессии, за одним исключением того пока не установится новая сессия. Тогда сессия сменяется и переходит к новому сетевому соединению, а старое соединение закрывается.</p>
<div class="note">
<p>Различные браузеры поддерживают перезапуск сессии при разных условиях. Не все браузеры будут выполнять перезапуск сессии из-за перегрузки сети, например:</p>
@@ -77,7 +77,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime
<p>Есть два уровня перезапуска сессии: полная перезагрузка сессии вызывает все мультимедийные потоки в сеансе и должны быть пересмотрены. Частичная перезагрузка сессии позволяет агенту сессии перезапустить конкретный медиапоток вместо того, чтобы перезапускать  все медиаданные. Некоторые браузеры пока не поддерживают частичную перезагрузку сессии, однако. &lt;&lt;&lt; Все зависит от вашего кодерства... &gt;&gt;&gt;</p>
-<p>Если вам необходимо изменить конфигурацию соединения каким-либо образом (например, изменение к другому набору связи), вы можете сделать это перед <code><a href="https://developer.mozilla.org/ru/docs/Web/API/RTCPeerConnection/setConfiguration" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!">RTCPeerConnection.setConfiguration()</a>(перед назначением конфигурации)</code> с обновленной <code><a href="https://developer.mozilla.org/ru/docs/Web/API/RTCConfiguration" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!">RTCConfiguration</a>(конфигурацией)</code> перед повторным запуском движка.</p>
+<p>Если вам необходимо изменить конфигурацию соединения каким-либо образом (например, изменение к другому набору связи), вы можете сделать это перед <code><a href="https://developer.mozilla.org/ru/docs/Web/API/RTCPeerConnection/setConfiguration" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!">RTCPeerConnection.setConfiguration()</a>(перед назначением конфигурации)</code> с обновлённой <code><a href="https://developer.mozilla.org/ru/docs/Web/API/RTCConfiguration" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!">RTCConfiguration</a>(конфигурацией)</code> перед повторным запуском движка.</p>
<p>Чтобы явно вызвать перезапуск сессии, нужно начать переговорный процесс с помощью вызова <code><a href="https://developer.mozilla.org/ru/docs/Web/API/RTCPeerConnection/createOffer" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!">RTCPeerConnection.createOffer()</a>,</code> указав параметр iceRestart(перезапуск сессии) со значением истины(true). Затем обработать процесс соединения так, как вы это обычно делаете.</p>
diff --git a/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html b/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html
index 844c8e0d19..73db097039 100644
--- a/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html
+++ b/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/WebRTC_API/Signaling_and_video_calling
---
<div>{{WebRTCSidebar}}</div>
-<p><span class="seoSummary"><a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> позволяет обмениваться медиаданными между двумя устройствами напрямую (peer-to-peer) в режиме реального времени. Соединение устанавливается путем обнаружения и согласования, называемым <strong>сигнализацией (signaling)</strong>. Эта статья объясняет, как сделать двусторонний видеозвонок.</span></p>
+<p><span class="seoSummary"><a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> позволяет обмениваться медиаданными между двумя устройствами напрямую (peer-to-peer) в режиме реального времени. Соединение устанавливается путём обнаружения и согласования, называемым <strong>сигнализацией (signaling)</strong>. Эта статья объясняет, как сделать двусторонний видеозвонок.</span></p>
-<p><a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> это технология прямого обмена аудио-, видео- и другими данными в режиме реального времени с одним ключевым условием. Процесс обнаружения и согласования медиаформатов должен происходить так чтобы два устройства, подключенные к разным сетям, могли локализовать друг друга, <a href="/en-US/docs/Web/API/WebRTC_API/Session_lifetime#Establishing_a_connection">как обсуждалось здесь</a>. Этот процесс назван <span class="seoSummary"><strong>сигнализацией </strong></span>и подразумевает, что оба устройства подключаются к третьему, обоюдно согласованному серверу. Через третью сторону устройства определяют адреса друг друга и обмениваются согласующими сообщениями.</p>
+<p><a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> это технология прямого обмена аудио-, видео- и другими данными в режиме реального времени с одним ключевым условием. Процесс обнаружения и согласования медиаформатов должен происходить так чтобы два устройства, подключённые к разным сетям, могли локализовать друг друга, <a href="/en-US/docs/Web/API/WebRTC_API/Session_lifetime#Establishing_a_connection">как обсуждалось здесь</a>. Этот процесс назван <span class="seoSummary"><strong>сигнализацией </strong></span>и подразумевает, что оба устройства подключаются к третьему, обоюдно согласованному серверу. Через третью сторону устройства определяют адреса друг друга и обмениваются согласующими сообщениями.</p>
<p>В этой статье мы будем дорабатывать  <a class="external external-icon" href="https://webrtc-from-chat.glitch.me/" rel="noopener">WebSocket-чат</a>, созданный для нашей документации к WebSocket, — добавим к нему двусторонний видеозвонок между двумя пользователями. Вы можете <a href="https://webrtc-from-chat.glitch.me/">использовать этот пример на Glitch</a> или <a href="https://glitch.com/edit/#!/remix/webrtc-from-chat">клонировать его</a>, чтобы поэкспериментировать самим. <a href="https://github.com/mdn/samples-server/tree/master/s/webrtc-from-chat">Весь проект</a> можно посмотреть на GitHub.</p>
@@ -21,13 +21,13 @@ translation_of: Web/API/WebRTC_API/Signaling_and_video_calling
<p>Во-первых, нужен сам сервер сигнализации. Спецификация WebRTC не определяет, какой транспорт используется для передачи сигнальной информации. Можете использовать какой вам нравится, от <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket</a> до {{domxref("XMLHttpRequest")}} и почтовых голубей, чтобы передать сигнальную информацию между пирами.</p>
-<p>Важно, что серверу не нужно понимать или интерпретировать сигнальные данные. Хотя они в формате {{Glossary("SDP")}}, это не имеет особого значения: содержание сообщений, проходящих через сигнальный сервер - по сути, черный ящик. Значение имеет лишь то, что когда подсистема {{Glossary("ICE")}} дает команду передать данные другому пиру, вы просто это делаете, а уже пир знает, как получить эту информацию и доставить ее на свою подсистему ICE. Все что нужно - передавать сообщения туда и обратно. Содержание совершенно не важно для сигнального сервера.</p>
+<p>Важно, что серверу не нужно понимать или интерпретировать сигнальные данные. Хотя они в формате {{Glossary("SDP")}}, это не имеет особого значения: содержание сообщений, проходящих через сигнальный сервер - по сути, чёрный ящик. Значение имеет лишь то, что когда подсистема {{Glossary("ICE")}} даёт команду передать данные другому пиру, вы просто это делаете, а уже пир знает, как получить эту информацию и доставить её на свою подсистему ICE. Все что нужно - передавать сообщения туда и обратно. Содержание совершенно не важно для сигнального сервера.</p>
<h3 id="Подготовка_сервера_чата_к_сигнализации">Подготовка сервера чата к сигнализации</h3>
-<p>Наш <a href="https://github.com/mdn/samples-server/tree/master/s/websocket-chat">сервер чата</a> использует <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a> для отправки информации как {{Glossary("JSON")}}  между каждым клиентом и сервером. Сервер поддерживает несколько типов сообщений для нескольких задач : регистрация нового пользователя, установки имен пользователей, отправка сообщений чата.</p>
+<p>Наш <a href="https://github.com/mdn/samples-server/tree/master/s/websocket-chat">сервер чата</a> использует <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a> для отправки информации как {{Glossary("JSON")}}  между каждым клиентом и сервером. Сервер поддерживает несколько типов сообщений для нескольких задач : регистрация нового пользователя, установки имён пользователей, отправка сообщений чата.</p>
-<p>Для того, что бы сервер мог поддерживать функциональность сигнализации и согласование соединения, нам нужно обновить код. Нам нужно направлять сообщения одному конкретному пользователю вместо того, чтобы транслировать их всем подключенным пользователям, а также обеспечить передачу и доставку неизвестных типов сообщений, при этом серверу не нужно будет знать, что это такое. Это позволит нам посылать сигнальные сообщения, используя один и тот же сервер, вместо того, чтобы использовать отдельный сервер.</p>
+<p>Для того, что бы сервер мог поддерживать функциональность сигнализации и согласование соединения, нам нужно обновить код. Нам нужно направлять сообщения одному конкретному пользователю вместо того, чтобы транслировать их всем подключённым пользователям, а также обеспечить передачу и доставку неизвестных типов сообщений, при этом серверу не нужно будет знать, что это такое. Это позволит нам посылать сигнальные сообщения, используя один и тот же сервер, вместо того, чтобы использовать отдельный сервер.</p>
<p>Let's take a look which changes we need to make to the chat server support WebRTC signaling. This is in the file <a href="https://github.com/mdn/samples-server/tree/master/s/webrtc-from-chat/chatserver.js">chatserver.js</a>.</p>
diff --git a/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html b/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html
index 4d02e4d5d4..8ed6944d59 100644
--- a/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html
+++ b/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/WebRTC_API/Simple_RTCDataChannel_sample
<p>Интерфейс {{domxref("RTCDataChannel")}} является функциональностью  <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC API</a> , который позволяет открыть канал между узлами соединения, по которому можно отправлять и получать произвольные данные. Эти  API намеренно сходны с  <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a>, для использования единой программной модели.</p>
-<p>В этом примере мы откроем соединение {{domxref ("RTCDataChannel")}}, связывающее два элемента на одной странице. Хотя это явно надуманный сценарий, он полезен для демонстрации последовательности соединения двух узлов. Мы расскажем о механизме выполнения соединения, передачи и получения данных, но оставим немного информации о поиске и подключении к удаленному компьютеру для другого примера.</p>
+<p>В этом примере мы откроем соединение {{domxref ("RTCDataChannel")}}, связывающее два элемента на одной странице. Хотя это явно надуманный сценарий, он полезен для демонстрации последовательности соединения двух узлов. Мы расскажем о механизме выполнения соединения, передачи и получения данных, но оставим немного информации о поиске и подключении к удалённому компьютеру для другого примера.</p>
<h2 id="Разметка_HTML">Разметка HTML</h2>
diff --git a/files/ru/web/api/webrtc_api/taking_still_photos/index.html b/files/ru/web/api/webrtc_api/taking_still_photos/index.html
index a15d916a7e..c690fafe2a 100644
--- a/files/ru/web/api/webrtc_api/taking_still_photos/index.html
+++ b/files/ru/web/api/webrtc_api/taking_still_photos/index.html
@@ -40,11 +40,11 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos
<h2 id="Код_JavaScript">Код JavaScript</h2>
-<p>Посмотрим на  <a href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill/capture.js" rel="noopener">JavaScript code</a>. Разобьем его на части, для упрощения объяснения.</p>
+<p>Посмотрим на  <a href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill/capture.js" rel="noopener">JavaScript code</a>. Разобьём его на части, для упрощения объяснения.</p>
<h3 id="Инициализация">Инициализация</h3>
-<p>Начнем с обертки всего скрипта в анонимную функцию, во избежании конфликтов глобальных переменных, затем инициализируем различные нужные  переменные.</p>
+<p>Начнём с обёртки всего скрипта в анонимную функцию, во избежании конфликтов глобальных переменных, затем инициализируем различные нужные  переменные.</p>
<pre>(function() {
var width = 320; // Этим создадим ширину фотографии
@@ -106,7 +106,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos
<p>Здесь мы называем метод  {{domxref("MediaDevices.getUserMedia()")}} , запрашивая медиапоток без аудиопотока (<code>audio : false</code>). Он возвращает промис, на котором мы определяем методы успешного и не успешного выполнений.</p>
-<p>Успешное выполнение промиса передает объект потока( <code>stream</code> ) в качестве параметра функции метода <code>then()</code>., который присваивается свойству <code>srcObject</code> элемента {{HTMLElement("video")}}, направляя поток в него.</p>
+<p>Успешное выполнение промиса передаёт объект потока( <code>stream</code> ) в качестве параметра функции метода <code>then()</code>., который присваивается свойству <code>srcObject</code> элемента {{HTMLElement("video")}}, направляя поток в него.</p>
<p>Как только поток связан с элементом <code>&lt;video&gt;</code> ,  запускаем его воспроизведение, вызовом метода <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#play">HTMLMediaElement.play()</a></code>.</p>
@@ -114,7 +114,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos
<h4 id="Обработка_события_начала_воспроизведения">Обработка события начала воспроизведения</h4>
-<p>После момента вызова метода  <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#play">HTMLMediaElement.play()</a></code> на элементе {{HTMLElement("video")}}, возникает промежуток времени до начала воспроизведения видеопотока. Для недопущения блокирования интерфейса пользователя в это промежуток, нужно установить обработчик события {{event("canplay")}} элемента <code>video</code> , который сработает, когда элемент начнет воспроизведение видеопотока. В этот момент все свойства элемента <code>video</code> конфигурируются на основе формата потока.</p>
+<p>После момента вызова метода  <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#play">HTMLMediaElement.play()</a></code> на элементе {{HTMLElement("video")}}, возникает промежуток времени до начала воспроизведения видеопотока. Для недопущения блокирования интерфейса пользователя в это промежуток, нужно установить обработчик события {{event("canplay")}} элемента <code>video</code> , который сработает, когда элемент начнёт воспроизведение видеопотока. В этот момент все свойства элемента <code>video</code> конфигурируются на основе формата потока.</p>
<pre> video.addEventListener('canplay', function(ev){
if (!streaming) {
@@ -147,7 +147,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos
<h4 id="Завершение_метода_startup">Завершение метода  startup() </h4>
-<p>Еще пара строк кода в методе <code>startup()</code>:</p>
+<p>Ещё пара строк кода в методе <code>startup()</code>:</p>
<pre> clearphoto();
}</pre>
@@ -167,7 +167,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos
photo.setAttribute('src', data);
}</pre>
-<p>Начнем с получения ссылки на скрытый элемент {{HTMLElement ("canvas")}}, который мы используем для рендеринга за пределами экрана. Затем мы устанавливаем свойство <code>fillStyle</code> в  <code>#AAA</code> ( светло-серый) и заполняем весь холст этим цветом, вызывая метод {{domxref("CanvasRenderingContext2D.fillRect()","fillRect()")}}.</p>
+<p>Начнём с получения ссылки на скрытый элемент {{HTMLElement ("canvas")}}, который мы используем для рендеринга за пределами экрана. Затем мы устанавливаем свойство <code>fillStyle</code> в  <code>#AAA</code> ( светло-серый) и заполняем весь холст этим цветом, вызывая метод {{domxref("CanvasRenderingContext2D.fillRect()","fillRect()")}}.</p>
<p>Наконец, в этой функции мы конвертируем <code>canvas</code> в изображение PNG и вызываем метод <code>{{domxref("Element.setAttribute", "photo.setAttribute()")}}</code> отображая захваченный цветовой фон в элементе изображения (бокса для фотографии).</p>
@@ -207,9 +207,9 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos
<p>Вы можете экспериментировать с этими эффектами, используя, например, инструмент разработчика FirefoxYou  <a href="https://wiki.developer.mozilla.org/en-US/docs/Tools/Style_Editor">редактор стилей</a>; смотрим <a href="https://wiki.developer.mozilla.org/en-US/docs/Tools/Page_Inspector/How_to/Edit_CSS_filters">Редактирование с CSS фильтрами</a> о подробностях выполнения.</p>
-<h2 id="Использование_определенных_устройств">Использование определенных устройств</h2>
+<h2 id="Использование_определённых_устройств">Использование определённых устройств</h2>
-<p>При необходимости вы можете ограничить набор разрешенных источников видео, определенным устройством или набором устройств. Для этого нужно вызвать метод {{domxref("navigator.mediaDevices.enumerateDevices()")}}. Когда промис разрешиться массивом объектов {{domxref("MediaDeviceInfo")}} , описывающих доступные устройства , выберите те, которым хотите разрешить доступ и укажите соответствующий идентификатор устройства {{domxref("MediaTrackConstraints.deviceId", "deviceId")}} или несколько <code>deviceId</code> в объекте  {{domxref("MediaTrackConstraints")}} , переданном в  {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}}.</p>
+<p>При необходимости вы можете ограничить набор разрешённых источников видео, определённым устройством или набором устройств. Для этого нужно вызвать метод {{domxref("navigator.mediaDevices.enumerateDevices()")}}. Когда промис разрешиться массивом объектов {{domxref("MediaDeviceInfo")}} , описывающих доступные устройства , выберите те, которым хотите разрешить доступ и укажите соответствующий идентификатор устройства {{domxref("MediaTrackConstraints.deviceId", "deviceId")}} или несколько <code>deviceId</code> в объекте  {{domxref("MediaTrackConstraints")}} , переданном в  {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}}.</p>
<h2 id="Смотри_так_же">Смотри так же</h2>
diff --git a/files/ru/web/api/webrtc_api/using_data_channels/index.html b/files/ru/web/api/webrtc_api/using_data_channels/index.html
index cbb64c54bb..1c2e5b2521 100644
--- a/files/ru/web/api/webrtc_api/using_data_channels/index.html
+++ b/files/ru/web/api/webrtc_api/using_data_channels/index.html
@@ -16,15 +16,15 @@ translation_of: Web/API/WebRTC_API/Using_data_channels
<p>Основной транспорт передачи данных, использующийся объектом типа {{domxref("RTCDataChannel")}} может быть создан двумя способами:</p>
<ul>
- <li>Позволить WebRTC создать транспорт и сообщить об этом удаленному узлу (вызвав у него событие типа  {{event("datachannel")}} ). Это простой способ, и он подходит для многих случаев, но не достаточно гибок для широких нужд.</li>
+ <li>Позволить WebRTC создать транспорт и сообщить об этом удалённому узлу (вызвав у него событие типа  {{event("datachannel")}} ). Это простой способ, и он подходит для многих случаев, но не достаточно гибок для широких нужд.</li>
<li>Написать свои скрипты по согласованию транспорта данных, и сигнализированию другому узлу о необходимости присоединения к новому каналу данных.</li>
</ul>
-<p>Разберем оба случая, начиная с первого, как с наиболее распространенного.</p>
+<p>Разберём оба случая, начиная с первого, как с наиболее распространенного.</p>
<h3 id="Автоматический_режим_согласования">Автоматический режим согласования</h3>
-<p>Зачастую, разработчик может позволить объекту соединения обработать согласование  {{domxref("RTCDataChannel")}} соединения за него. Для этого нужно вызвать метод {{domxref("RTCPeerConnection.createDataChannel", "createDataChannel()")}} без определения значения свойства {{domxref("RTCDataChannelInit.negotiated", "negotiated")}}, или определить свойство значением <code>false</code>. Это автоматически активирует <code>RTCPeerConnection</code> на обработку согласования соединения за разработчика, вызывая событие создание канала данных у удаленного узла, связывая два узла вместе по сети.</p>
+<p>Зачастую, разработчик может позволить объекту соединения обработать согласование  {{domxref("RTCDataChannel")}} соединения за него. Для этого нужно вызвать метод {{domxref("RTCPeerConnection.createDataChannel", "createDataChannel()")}} без определения значения свойства {{domxref("RTCDataChannelInit.negotiated", "negotiated")}}, или определить свойство значением <code>false</code>. Это автоматически активирует <code>RTCPeerConnection</code> на обработку согласования соединения за разработчика, вызывая событие создание канала данных у удалённого узла, связывая два узла вместе по сети.</p>
<p>Вызов метода <code>createDataChannel()</code> немедленно возвращает объект типа <code>RTCDataChannel</code>. Подписываясь на событие  {{domxref("RTCDataChannel.open_event", "open")}} , можно будет точно определить когда соединение успешно откроется.</p>
@@ -39,7 +39,7 @@ dataChannel.addEventListener("open", (event) =&gt; {
<p>Для ручного согласования соединения, сначала необходимо создать новый объект типа {{domxref("RTCDataChannel")}}, используя метод  {{domxref("RTCPeerConnection.createDataChannel", "createDataChannel()")}} объекта {{domxref("RTCPeerConnection")}}, определяя свойство  {{domxref("RTCDataChannelInit.negotiated", "negotiated")}} в значение <code>true</code>. Это сигнализирует объекту соединения не пытаться согласовать соединение автоматически.</p>
-<p>Затем нужно согласовать соединение, используя веб сервер или иные средства коммуникации. Этот процесс должен сигнализировать удаленному узлу, что нужно создать собственный объект типа <code>RTCDataChannel</code> со свойством  <code>negotiated</code>, установленным в значение  <code>true</code>, используя тот же идентификатор канала {{domxref("RTCDataChannel.id", "id")}}. Это свяжет два объекта типа  <code>RTCDataChannel </code>через объект типа <code>RTCPeerConnection</code>.</p>
+<p>Затем нужно согласовать соединение, используя веб сервер или иные средства коммуникации. Этот процесс должен сигнализировать удалённому узлу, что нужно создать собственный объект типа <code>RTCDataChannel</code> со свойством  <code>negotiated</code>, установленным в значение  <code>true</code>, используя тот же идентификатор канала {{domxref("RTCDataChannel.id", "id")}}. Это свяжет два объекта типа  <code>RTCDataChannel </code>через объект типа <code>RTCPeerConnection</code>.</p>
<pre class="brush: js">let dataChannel = pc.createDataChannel("MyApp Channel", {
negotiated: true
@@ -51,7 +51,7 @@ dataChannel.addEventListener("open", (event) =&gt; {
requestRemoteChannel(dataChannel.id);</pre>
-<p>В данном примере канал создается установкой значения свойства <code>negotiated</code> в <code>true</code>, затем вызывается функция  <code>requestRemoteChannel()</code> , запуская согласование соединения для создания удаленного канала с тем же идентификатором как у локального канала. Таким образом создание каналов данных позволяет использовать различные свойства, создавая их декларативно, используя одно и тоже значение идентификатора канала  <code>id</code>.</p>
+<p>В данном примере канал создаётся установкой значения свойства <code>negotiated</code> в <code>true</code>, затем вызывается функция  <code>requestRemoteChannel()</code> , запуская согласование соединения для создания удалённого канала с тем же идентификатором как у локального канала. Таким образом создание каналов данных позволяет использовать различные свойства, создавая их декларативно, используя одно и тоже значение идентификатора канала  <code>id</code>.</p>
<h2 id="Буферизация">Буферизация</h2>
@@ -63,11 +63,11 @@ requestRemoteChannel(dataChannel.id);</pre>
<h2 id="Ограничения_размеров_сообщений">Ограничения размеров сообщений</h2>
-<p>Для любых данных, передаваемых по сети, существуют ограничения по размеру. На фундаментальном уровне отдельные сетевые пакеты не могут быть больше определенного значения (точное число зависит от сети и используемого транспортного уровня).  На уровне приложения, то есть в пределах {{Glossary("user agent", "user agent's")}} реализация WebRTC, в которой работает ваш код, реализует функции поддержки сообщений, размер которых превышает максимальный размер пакета на транспортном уровне сети.</p>
+<p>Для любых данных, передаваемых по сети, существуют ограничения по размеру. На фундаментальном уровне отдельные сетевые пакеты не могут быть больше определённого значения (точное число зависит от сети и используемого транспортного уровня).  На уровне приложения, то есть в пределах {{Glossary("user agent", "user agent's")}} реализация WebRTC, в которой работает ваш код, реализует функции поддержки сообщений, размер которых превышает максимальный размер пакета на транспортном уровне сети.</p>
-<p>Это может усложнить ситуацию, поскольку вы не знаете, каковы ограничения по размеру для различных пользовательских агентов и как они реагируют на отправку или получение сообщения большего размера. Даже когда пользовательские агенты совместно используют одну и ту же базовую библиотеку для обработки данных протокола управления потоком (SCTP), могут существовать различия в зависимости от того, как используется библиотека. Например, и Firefox, и Google Chrome используют библиотеку <code>usrsctp</code> для реализации SCTP, но все еще существуют ситуации, в которых передача данных по <code>RTCDataChannel</code> каналу может завершиться сбоем из-за различий в том, как они вызывают библиотеку и обрабатывают ошибки, которые она возвращает.</p>
+<p>Это может усложнить ситуацию, поскольку вы не знаете, каковы ограничения по размеру для различных пользовательских агентов и как они реагируют на отправку или получение сообщения большего размера. Даже когда пользовательские агенты совместно используют одну и ту же базовую библиотеку для обработки данных протокола управления потоком (SCTP), могут существовать различия в зависимости от того, как используется библиотека. Например, и Firefox, и Google Chrome используют библиотеку <code>usrsctp</code> для реализации SCTP, но все ещё существуют ситуации, в которых передача данных по <code>RTCDataChannel</code> каналу может завершиться сбоем из-за различий в том, как они вызывают библиотеку и обрабатывают ошибки, которые она возвращает.</p>
-<p>Когда два пользователя, использующие Firefox, обмениваются данными по каналу данных, ограничение размера сообщения намного больше, чем когда Firefox и Chrome обмениваются данными, потому что Firefox реализует устаревшую технику для отправки больших сообщений в нескольких сообщениях SCTP, чего нет в Chrome. Вместо этого Chrome увидит серию сообщений, которые он считает завершенными, и доставит их получающему <code>RTCDataChannel</code> каналу в виде нескольких сообщений</p>
+<p>Когда два пользователя, использующие Firefox, обмениваются данными по каналу данных, ограничение размера сообщения намного больше, чем когда Firefox и Chrome обмениваются данными, потому что Firefox реализует устаревшую технику для отправки больших сообщений в нескольких сообщениях SCTP, чего нет в Chrome. Вместо этого Chrome увидит серию сообщений, которые он считает завершёнными, и доставит их получающему <code>RTCDataChannel</code> каналу в виде нескольких сообщений</p>
<p>Сообщения размером менее 16 КБ могут отправляться без проблем, поскольку все основные пользовательские агенты обрабатывают их одинаково.</p>
@@ -77,9 +77,9 @@ requestRemoteChannel(dataChannel.id);</pre>
<p>В конечном итоге это стало проблемой. Со временем различные приложения (в том числе внедряющие WebRTC) начали использовать SCTP для передачи больших и больших сообщений. В конце концов стало ясно, что когда сообщения становятся слишком большими, передача большого сообщения может блокировать все другие передачи данных в этом канале данных, включая критические сообщения сигнализации.</p>
-<p>Это станет проблемой, когда браузеры будут должным образом поддерживать текущий стандарт поддержки больших сообщений - флаг конца записи (EOR), который указывает, когда сообщение является последним в серии, которое следует рассматривать как одну полезную нагрузку. Это реализовано в Firefox 57, но еще не реализовано в Chrome (см. <a href="https://bugs.chromium.org/p/webrtc/issues/detail?id=7774">Chromium Bug 7774</a>). С поддержкой EOR полезная нагрузка <code>RTCDataChannel</code> может быть намного больше (официально до 256 КБ, но реализация Firefox ограничивает их колоссальным 1 ГБ). Даже при 256 кБ этого достаточно, чтобы вызвать заметные задержки при обработке срочного трафика.</p>
+<p>Это станет проблемой, когда браузеры будут должным образом поддерживать текущий стандарт поддержки больших сообщений - флаг конца записи (EOR), который указывает, когда сообщение является последним в серии, которое следует рассматривать как одну полезную нагрузку. Это реализовано в Firefox 57, но ещё не реализовано в Chrome (см. <a href="https://bugs.chromium.org/p/webrtc/issues/detail?id=7774">Chromium Bug 7774</a>). С поддержкой EOR полезная нагрузка <code>RTCDataChannel</code> может быть намного больше (официально до 256 КБ, но реализация Firefox ограничивает их колоссальным 1 ГБ). Даже при 256 кБ этого достаточно, чтобы вызвать заметные задержки при обработке срочного трафика.</p>
-<p>Чтобы решить эту проблему, была разработана новая система планировщиков потоков (обычно называемая «спецификацией данных SCTP»), позволяющая чередовать сообщения, отправленные в разных потоках, включая потоки, используемые для реализации каналов данных WebRTC. Это предложение <a href="https://tools.ietf.org/html/draft-ietf-tsvwg-sctp-ndata">предложение</a> все еще находится в черновой форме IETF, но после его реализации оно позволит отправлять сообщения практически без ограничений по размеру, поскольку уровень SCTP автоматически чередует лежащие в основе под-сообщения, чтобы обеспечить возможность получения данных каждого канала.</p>
+<p>Чтобы решить эту проблему, была разработана новая система планировщиков потоков (обычно называемая «спецификацией данных SCTP»), позволяющая чередовать сообщения, отправленные в разных потоках, включая потоки, используемые для реализации каналов данных WebRTC. Это предложение <a href="https://tools.ietf.org/html/draft-ietf-tsvwg-sctp-ndata">предложение</a> все ещё находится в черновой форме IETF, но после его реализации оно позволит отправлять сообщения практически без ограничений по размеру, поскольку уровень SCTP автоматически чередует лежащие в основе под-сообщения, чтобы обеспечить возможность получения данных каждого канала.</p>
<p>Поддержка Firefox для ndata находится в процессе реализации. <span style="font-size: 1rem; letter-spacing: -0.00278rem;">Команда Chrome отслеживает реализацию поддержки ndata в</span><span style="font-size: 1rem; letter-spacing: -0.00278rem;"> </span><a href="https://bugs.chromium.org/p/webrtc/issues/detail?id=5696" style="font-size: 1rem; letter-spacing: -0.00278rem;">Chrome Bug 5696</a><span style="font-size: 1rem; letter-spacing: -0.00278rem;">.</span></p>
diff --git a/files/ru/web/api/websocket/index.html b/files/ru/web/api/websocket/index.html
index 2d53a55c5c..4cc3326a7f 100644
--- a/files/ru/web/api/websocket/index.html
+++ b/files/ru/web/api/websocket/index.html
@@ -69,7 +69,7 @@ WebSocket WebSocket(
<tr>
<td><code>bufferedAmount</code></td>
<td><code><a href="/en/unsigned_long" title="en/unsigned long">unsigned long</a></code></td>
- <td>Количество байтов данных, которые были поставлены в очередь, используя вызовы {{ manch("send") }}, но еще не переданные в сеть. Это значение не сбрасывается в ноль, при закрытии соединения; если продолжить вызывать  {{ manch("send") }}, значение будет расти. <strong>Только чтение.</strong></td>
+ <td>Количество байтов данных, которые были поставлены в очередь, используя вызовы {{ manch("send") }}, но ещё не переданные в сеть. Это значение не сбрасывается в ноль, при закрытии соединения; если продолжить вызывать  {{ manch("send") }}, значение будет расти. <strong>Только чтение.</strong></td>
</tr>
<tr>
<td><code>extensions</code></td>
@@ -178,7 +178,7 @@ WebSocket WebSocket(
<dl>
<dt><code>code</code> {{ optional_inline() }}</dt>
- <dd>Числовое значение, обозначающее статус-код, описывающий почему подключение будет закрыто. Если параметр не указан, значение по умолчанию равно 1000(обозначает "обмен завершен"). Смотрите <a href="/en/WebSockets/WebSockets_reference/CloseEvent#Status_codes" title="en/WebSockets/WebSockets reference/CloseEvent#Status codes">list of status codes</a> для <code><a href="/en/WebSockets/WebSockets_reference/CloseEvent" title="en/WebSockets/WebSockets reference/CloseEvent">CloseEvent</a></code>, чтобы узнать разрешенные значения.</dd>
+ <dd>Числовое значение, обозначающее статус-код, описывающий почему подключение будет закрыто. Если параметр не указан, значение по умолчанию равно 1000(обозначает "обмен завершён"). Смотрите <a href="/en/WebSockets/WebSockets_reference/CloseEvent#Status_codes" title="en/WebSockets/WebSockets reference/CloseEvent#Status codes">list of status codes</a> для <code><a href="/en/WebSockets/WebSockets_reference/CloseEvent" title="en/WebSockets/WebSockets reference/CloseEvent">CloseEvent</a></code>, чтобы узнать разрешённые значения.</dd>
<dt><code>reason</code> {{ optional_inline() }}</dt>
<dd>Читаемая человеком строка, объясняющая, почему подключение закрывается. Строка должна быть не длиннее, чем 123 байта UTF-8 текста (<strong>не</strong> символов). </dd>
</dl>
@@ -198,7 +198,7 @@ WebSocket WebSocket(
<h3 id="send" name="send()">send()</h3>
-<p>Передает данные на сервер через WebSocket - соединение.</p>
+<p>Передаёт данные на сервер через WebSocket - соединение.</p>
<pre class="eval">void send(
in DOMString data
@@ -224,7 +224,7 @@ void send(
<dl>
<dt><code>INVALID_STATE_ERR</code></dt>
- <dd>Соединение еще не открыто.</dd>
+ <dd>Соединение ещё не открыто.</dd>
<dt><code>SYNTAX_ERR</code></dt>
<dd>Строка <code>data</code> содержит непарные суррогаты</dd>
</dl>
@@ -252,7 +252,7 @@ void send(
<h2 id="See_also" name="See_also">Пример</h2>
-<pre class="brush: js"><code>// Создает WebSocket - подключение.
+<pre class="brush: js"><code>// Создаёт WebSocket - подключение.
const socket = new WebSocket('ws://localhost:8080');
// Соединение открыто
diff --git a/files/ru/web/api/websockets_api/index.html b/files/ru/web/api/websockets_api/index.html
index 7b0156b5a7..83672bc3d4 100644
--- a/files/ru/web/api/websockets_api/index.html
+++ b/files/ru/web/api/websockets_api/index.html
@@ -10,7 +10,7 @@ tags:
translation_of: Web/API/WebSockets_API
original_slug: WebSockets
---
-<p><strong>Веб-сокеты</strong> это продвинутая технология, позволяющая открыть постоянное двунаправленное сетевое соединение между браузером пользователя и сервером. С помощью его API вы можете отправить сообщение на сервер и получить ответ без выполнения http запроса, причем этот процесс будет событийно-управляемым.</p>
+<p><strong>Веб-сокеты</strong> это продвинутая технология, позволяющая открыть постоянное двунаправленное сетевое соединение между браузером пользователя и сервером. С помощью его API вы можете отправить сообщение на сервер и получить ответ без выполнения http запроса, причём этот процесс будет событийно-управляемым.</p>
<div class="cleared row topicpage-table">
<div class="section">
diff --git a/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html b/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html
index d5729bf6a4..7a6e602c2c 100644
--- a/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html
+++ b/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html
@@ -58,7 +58,7 @@ WebSocket WebSocket(
<h3 id="Примеры">Примеры</h3>
-<p>Этот простой пример создает новый WebSocket, подключаемый к серверу <code><span class="nowiki">ws://www.example.com/socketserver</span></code>. В данном примере в конструктор сокета в качестве дополнительного параметра передается пользовательский протокол "protocolOne", хотя эта часть может быть опущена.</p>
+<p>Этот простой пример создаёт новый WebSocket, подключаемый к серверу <code><span class="nowiki">ws://www.example.com/socketserver</span></code>. В данном примере в конструктор сокета в качестве дополнительного параметра передаётся пользовательский протокол "protocolOne", хотя эта часть может быть опущена.</p>
<pre class="brush: js">var exampleSocket = new WebSocket("ws://www.example.com/socketserver", "protocolOne");
</pre>
diff --git a/files/ru/web/api/webvr_api/index.html b/files/ru/web/api/webvr_api/index.html
index e53532700d..a1dd13cbc9 100644
--- a/files/ru/web/api/webvr_api/index.html
+++ b/files/ru/web/api/webvr_api/index.html
@@ -9,7 +9,7 @@ translation_of: Web/API/WebVR_API
<h2 id="Концепция_и_использование">Концепция и использование</h2>
-<p>Любые VR-устройства, подключенные к вашему компьютеру, будут возвращены методом {{domxref("Navigator.getVRDisplays()")}}; каждое из которых будет представлено  {{domxref("VRDisplay")}} объектом.</p>
+<p>Любые VR-устройства, подключённые к вашему компьютеру, будут возвращены методом {{domxref("Navigator.getVRDisplays()")}}; каждое из которых будет представлено  {{domxref("VRDisplay")}} объектом.</p>
<p><img alt='Sketch of a person in a chair with wearing goggles labelled "Head mounted display (HMD)" facing a monitor with a webcam labelled "Position sensor"' src="https://mdn.mozillademos.org/files/11035/hw-setup.png" style="display: block; height: 78px; margin: 0px auto; width: 60%;"></p>
@@ -60,7 +60,7 @@ translation_of: Web/API/WebVR_API
<dt>{{domxref("VREyeParameters")}}</dt>
<dd>Предоставляет доступ ко все информации, необходимой для корректного отображения сцены для каждого заднего глаза, включая информацию о поле зрения.</dd>
<dt>{{domxref("VRFieldOfView")}}</dt>
- <dd>Представляет поле зрения, определенное четырьмя различными значениями степени, описывающими представление из центральной точки.</dd>
+ <dd>Представляет поле зрения, определённое четырьмя различными значениями степени, описывающими представление из центральной точки.</dd>
<dt>{{domxref("VRLayerInit")}}</dt>
<dd>Представляет слой, который должен быть представлен в {{domxref("VRDisplay")}}.</dd>
<dt>{{domxref("VRStageParameters")}}</dt>
@@ -84,7 +84,7 @@ translation_of: Web/API/WebVR_API
<dt>{{domxref("Navigator.activeVRDisplays")}} {{readonlyInline}}</dt>
<dd>Возвращает массив, содержащий каждый {{domxref("VRDisplay")}} объект, который в настоящее время отображается ({{domxref("VRDisplay.ispresenting")}} является <code>true</code>).</dd>
<dt>{{domxref("Navigator.getVRDisplays()")}}</dt>
- <dd>Возвращает обещание, которое преобразуется в массив {{domxref("VRDisplay")}} объектов,  представляющих любые доступные VR-дисплеи, подключенные к компьютеру.</dd>
+ <dd>Возвращает обещание, которое преобразуется в массив {{domxref("VRDisplay")}} объектов,  представляющих любые доступные VR-дисплеи, подключённые к компьютеру.</dd>
</dl>
<h4 id="Window_события">Window события</h4>
@@ -93,7 +93,7 @@ translation_of: Web/API/WebVR_API
<dt>{{domxref("Window.onvrdisplaypresentchange")}}</dt>
<dd>Представляет обработчик событий, который будет выполняться, при изменении состояния отображения VR-дисплея — т.е. идёт от отображения до неотображения, или наоборот (когда {{event("vrdisplaypresentchange")}} событие срабатывает).</dd>
<dt>{{domxref("Window.onvrdisplayconnect")}}</dt>
- <dd>Представляет обработчик событий, который будет запускаться, когда к компьютеру подключен совместимый VR-дисплей (когда {{event("vrdisplayconnect")}} событие срабатывает).</dd>
+ <dd>Представляет обработчик событий, который будет запускаться, когда к компьютеру подключён совместимый VR-дисплей (когда {{event("vrdisplayconnect")}} событие срабатывает).</dd>
<dt>{{domxref("Window.onvrdisplaydisconnect")}}</dt>
<dd>Представляет обработчик событий, который будет запускаться, когда совместимый VR-дисплей был отключён от компьютера (когда {{event("vrdisplaydisconnect")}} событие срабатывает).</dd>
<dt>{{domxref("Window.onvrdisplayactivate")}}</dt>
diff --git a/files/ru/web/api/webvr_api/using_the_webvr_api/index.html b/files/ru/web/api/webvr_api/using_the_webvr_api/index.html
index 78aed3b7b7..51cdf502b8 100644
--- a/files/ru/web/api/webvr_api/using_the_webvr_api/index.html
+++ b/files/ru/web/api/webvr_api/using_the_webvr_api/index.html
@@ -18,7 +18,7 @@ translation_of: Web/API/WebVR_API/Using_the_WebVR_API
<ul>
<li>Устройство с поддержкой VR.
<ul>
- <li>Самым дешевым вариантом будет использовать мобильное устройство, какое-нибудь крепление (например, Google Cardboard) и подходящий браузер. Ощущения будут не такие яркие, как от специализированного устройства, но зато Вам не понадобится приобретать мощный компьютер или отдельный VR дисплей.</li>
+ <li>Самым дешёвым вариантом будет использовать мобильное устройство, какое-нибудь крепление (например, Google Cardboard) и подходящий браузер. Ощущения будут не такие яркие, как от специализированного устройства, но зато Вам не понадобится приобретать мощный компьютер или отдельный VR дисплей.</li>
<li>Специализированное устройство может быть дорогим, но зато ощущения будут лучше. Наиболее WebVR-совместимые устройства на данный момент: HTC VIVE, The Oculus Rift. Дополнительную информацию о доступных устройствах и их поддержке браузерами можно найти на <a href="https://webvr.info/">webvr.info</a>.</li>
</ul>
</li>
diff --git a/files/ru/web/api/webvtt_api/index.html b/files/ru/web/api/webvtt_api/index.html
index 11db07532a..1927c7927f 100644
--- a/files/ru/web/api/webvtt_api/index.html
+++ b/files/ru/web/api/webvtt_api/index.html
@@ -19,7 +19,7 @@ translation_of: Web/API/WebVTT_API
Никогда не пейте жидкий азот.
00:05.000 --&gt; 00:09.000
-- Это пробьет ваш желудок.
+- Это пробьёт ваш желудок.
- Вы можете умереть.
</pre>
@@ -73,7 +73,7 @@ translation_of: Web/API/WebVTT_API
<h3 id="Внутренняя_структура_файла_WebVTT">Внутренняя структура файла WebVTT</h3>
-<p>Давайте вернемся к одному из наших предыдущих примеров и рассмотрим структуру реплик более подробно.</p>
+<p>Давайте вернёмся к одному из наших предыдущих примеров и рассмотрим структуру реплик более подробно.</p>
<pre class="notranslate">WEBVTT
@@ -171,7 +171,7 @@ video::cue(b) {
<p>В данном примере фоном видео будет серый градиент, с цветом текста <code>papayawhip</code>. Также, текст, выделенный жирным шрифтом с помощью элемента {{HTMLElement("b")}}, имеет цвет <code>peachpuff</code>.</p>
-<p>Фрагмент HTML, приведенный ниже, отображает видео.</p>
+<p>Фрагмент HTML, приведённый ниже, отображает видео.</p>
<pre class="brush: html notranslate">&lt;video controls autoplay src="video.webm"&gt;
&lt;track default src="track.vtt"&gt;
diff --git a/files/ru/web/api/webxr_device_api/index.html b/files/ru/web/api/webxr_device_api/index.html
index 913ea6fcf9..7a1ce319e1 100644
--- a/files/ru/web/api/webxr_device_api/index.html
+++ b/files/ru/web/api/webxr_device_api/index.html
@@ -95,7 +95,7 @@ translation_of: Web/API/WebXR_Device_API
<dl>
<dt>{{domxref("WebGLRenderingContextBase.makeXRCompatibile","WebGLRenderingContextBase.makeXRCompatibile()")}}</dt>
- <dd>Настраивает контекст WebGL для совместимости с WebXR. Если при создании контекста опция {{domxref("WebGLContextAttributes.xrCompatible", "xrCompatible")}} не была установлена как <code>true</code>, необходимо вызвать метод <code>makeXRCompatible()</code> до использования контекста WebGL для рендеринга WebXR. Возвращает {{jsxref("Promise")}}, выполняющийся, когда контекст был подготовлен, или отклонен, если контекст не может быть настроен для работы с WebXR.</dd>
+ <dd>Настраивает контекст WebGL для совместимости с WebXR. Если при создании контекста опция {{domxref("WebGLContextAttributes.xrCompatible", "xrCompatible")}} не была установлена как <code>true</code>, необходимо вызвать метод <code>makeXRCompatible()</code> до использования контекста WebGL для рендеринга WebXR. Возвращает {{jsxref("Promise")}}, выполняющийся, когда контекст был подготовлен, или отклонён, если контекст не может быть настроен для работы с WebXR.</dd>
</dl>
<h2 id="Руководства_и_уроки">Руководства и уроки</h2>
diff --git a/files/ru/web/api/window/beforeunload_event/index.html b/files/ru/web/api/window/beforeunload_event/index.html
index 1273c5de18..757ea14c3b 100644
--- a/files/ru/web/api/window/beforeunload_event/index.html
+++ b/files/ru/web/api/window/beforeunload_event/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/beforeunload_event
---
<div>{{APIRef}}</div>
-<p><span class="seoSummary">Событие <strong>beforeunload </strong>запускается, когда окно, документ и его ресурсы вот-вот будут выгружены. Документ все еще виден, и событие в этот момент может быть отменено.</span></p>
+<p><span class="seoSummary">Событие <strong>beforeunload </strong>запускается, когда окно, документ и его ресурсы вот-вот будут выгружены. Документ все ещё виден, и событие в этот момент может быть отменено.</span></p>
<table class="properties">
<tbody>
diff --git a/files/ru/web/api/window/close/index.html b/files/ru/web/api/window/close/index.html
index 860ba52331..c4b4dc2357 100644
--- a/files/ru/web/api/window/close/index.html
+++ b/files/ru/web/api/window/close/index.html
@@ -33,7 +33,7 @@ function closeOpenedWindow() {
<h3 id="Закрытие_текущего_окна">Закрытие текущего окна</h3>
-<p>В прошлом, если бы вы вызвали функцию close() объекта window, вместо вызова функции close() для созданного окна, браузер закрыл бы текущее окно, создал ли его ваш скрипт или нет. В текущее время этого не произойдет; по причинам безопасности, скриптам больше не разрешено закрывать окна, которые они не открыли. (Firefox 46.0.1: scripts can not close windows, they had not opened)</p>
+<p>В прошлом, если бы вы вызвали функцию close() объекта window, вместо вызова функции close() для созданного окна, браузер закрыл бы текущее окно, создал ли его ваш скрипт или нет. В текущее время этого не произойдёт; по причинам безопасности, скриптам больше не разрешено закрывать окна, которые они не открыли. (Firefox 46.0.1: scripts can not close windows, they had not opened)</p>
<pre class="brush: js">function closeCurrentWindow() {
window.close();
diff --git a/files/ru/web/api/window/closed/index.html b/files/ru/web/api/window/closed/index.html
index fc1cf46867..c5cbbd98df 100644
--- a/files/ru/web/api/window/closed/index.html
+++ b/files/ru/web/api/window/closed/index.html
@@ -39,7 +39,7 @@ if (window.opener &amp;&amp; !window.opener.closed) {
<h3 id="Обновление_ранее_открытого_всплывающего_окна">Обновление ранее открытого всплывающего окна</h3>
-<p>В данном примере функция <code>refreshPopupWindow()</code> вызывает метод <code>reload</code> у объекта локации всплывающего окна для обновления его данных. Если всплывающее окно еще не было открыто или пользователь его закрыл, открывает новое окно.</p>
+<p>В данном примере функция <code>refreshPopupWindow()</code> вызывает метод <code>reload</code> у объекта локации всплывающего окна для обновления его данных. Если всплывающее окно ещё не было открыто или пользователь его закрыл, открывает новое окно.</p>
<pre class="brush:js">var popupWindow = null;
diff --git a/files/ru/web/api/window/console/index.html b/files/ru/web/api/window/console/index.html
index d6fac2ad19..6901458922 100644
--- a/files/ru/web/api/window/console/index.html
+++ b/files/ru/web/api/window/console/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/console
---
<p>{{ APIRef }}</p>
-<p>Свойство <strong><code>window.console</code></strong> дает доступ к интерфейсу {{domxref("Console")}}, предоставляющий методы для вывода информации в консоль браузера. Данные методы предназначены для отладки приложения, и не должны использоваться конечными пользователями.</p>
+<p>Свойство <strong><code>window.console</code></strong> даёт доступ к интерфейсу {{domxref("Console")}}, предоставляющий методы для вывода информации в консоль браузера. Данные методы предназначены для отладки приложения, и не должны использоваться конечными пользователями.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
diff --git a/files/ru/web/api/window/crypto/index.html b/files/ru/web/api/window/crypto/index.html
index f103f43f97..e70c15e507 100644
--- a/files/ru/web/api/window/crypto/index.html
+++ b/files/ru/web/api/window/crypto/index.html
@@ -10,7 +10,7 @@ translation_of: Web/API/Window/crypto
---
<p>{{APIRef}}</p>
-<p>{{domxref("Window.crypto")}} дает доступ к интерфейсу {{domxref("Crypto")}}. Этот интерфейс предоставляет веб-странице доступ к встроенным в браузер возможностям криптографии.</p>
+<p>{{domxref("Window.crypto")}} даёт доступ к интерфейсу {{domxref("Crypto")}}. Этот интерфейс предоставляет веб-странице доступ к встроенным в браузер возможностям криптографии.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/window/frameelement/index.html b/files/ru/web/api/window/frameelement/index.html
index bd901523fb..9b1900a74e 100644
--- a/files/ru/web/api/window/frameelement/index.html
+++ b/files/ru/web/api/window/frameelement/index.html
@@ -31,7 +31,7 @@ if (frameEl) {
<h2 id="Notes" name="Notes">Примечания</h2>
-<p>Заметьте, что несмотря на свое имя, свойство также работает для документов внутри <code>&lt;object&gt;</code> и других встраиваемых элементов.</p>
+<p>Заметьте, что несмотря на своё имя, свойство также работает для документов внутри <code>&lt;object&gt;</code> и других встраиваемых элементов.</p>
<h2 id="Specification" name="Specification">Спецификация</h2>
diff --git a/files/ru/web/api/window/getcomputedstyle/index.html b/files/ru/web/api/window/getcomputedstyle/index.html
index 85080b7fa7..bb728217ab 100644
--- a/files/ru/web/api/window/getcomputedstyle/index.html
+++ b/files/ru/web/api/window/getcomputedstyle/index.html
@@ -17,11 +17,11 @@ translation_of: Web/API/Window/getComputedStyle
<dd>Строка указывающая на найденный псевдо-элемент. Опускается (или <code>null</code>) для не псевдо-элементов.</dd>
</dl>
-<p>Возвращенный <code>style</code> живой {{domxref("CSSStyleDeclaration")}} объект, который обновляется автоматически когда элемент стилей изменяется.</p>
+<p>Возвращённый <code>style</code> живой {{domxref("CSSStyleDeclaration")}} объект, который обновляется автоматически когда элемент стилей изменяется.</p>
<h2 id="Выводы">Выводы</h2>
-<p>Метод <code>Window.getComputedStyle()</code> предоставляет все значения CSS свойств элементов после применения текущей таблицы стилей или базового расчета каких-либо значений, которые могут быть.</p>
+<p>Метод <code>Window.getComputedStyle()</code> предоставляет все значения CSS свойств элементов после применения текущей таблицы стилей или базового расчёта каких-либо значений, которые могут быть.</p>
<h2 id="Пример">Пример</h2>
@@ -73,7 +73,7 @@ var style = window.getComputedStyle(elem1, null);
<h2 id="Описание">Описание</h2>
-<p>Возвращенный объект - это такой же объект, который возвращается из свойства элемента {{domxref("HTMLElement.style", "style")}}; Так или иначе, эти два объекта имеют разные назначения. Объект который возвращается из <code>getComputedStyle</code> только для чтения и может быть использован для инспектирования стиля элемента (включая описание из <code>&lt;style&gt;</code> элемента или внешней таблицы стилей). Объект <code>element.style</code> следует использовать для установки стилей на специфических элементах.</p>
+<p>Возвращённый объект - это такой же объект, который возвращается из свойства элемента {{domxref("HTMLElement.style", "style")}}; Так или иначе, эти два объекта имеют разные назначения. Объект который возвращается из <code>getComputedStyle</code> только для чтения и может быть использован для инспектирования стиля элемента (включая описание из <code>&lt;style&gt;</code> элемента или внешней таблицы стилей). Объект <code>element.style</code> следует использовать для установки стилей на специфических элементах.</p>
<p>Первый аргумент должен быть элементом (вставка узлов которые не являются элементами, например <code>#text</code> выдаст ошибку).</p>
diff --git a/files/ru/web/api/window/getselection/index.html b/files/ru/web/api/window/getselection/index.html
index c70c51e40c..e8f6f3fa73 100644
--- a/files/ru/web/api/window/getselection/index.html
+++ b/files/ru/web/api/window/getselection/index.html
@@ -25,7 +25,7 @@ translation_of: Web/API/Window/getSelection
var selObj = window.getSelection();
alert(selObj);
var selRange = selObj.getRangeAt(0);
- // вернет диапазон Range
+ // вернёт диапазон Range
}</pre>
<h2 id="Notes" name="Notes">Заметки</h2>
@@ -34,7 +34,7 @@ translation_of: Web/API/Window/getSelection
<p>В JavaScript при попытке передать в функцию, принимающую строку (как на пример {{ Domxref("window.alert()") }} или же {{ Domxref("document.write()") }}), функция попробует сделать из любого параметра строку, даже если этот параметр является объектом, функцией со своими методами и свойствами.</p>
-<p>В приведенном выше примере <code>selObj.toString() автоматически задействуется, когда мы передаем в </code>{{domxref("window.alert()")}} переменную selObj как параметр, который должен быть строкой. Однако мы не можем использовать свойства и метода объекта String, как на пример : <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length" title="JS/String.length">length</a></code>, <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr" title="JS/String.substr">substr</a></code>. В следствии чего, вам необходимо будет применить вручную метод   <code>toString(), как тут:</code></p>
+<p>В приведённом выше примере <code>selObj.toString() автоматически задействуется, когда мы передаём в </code>{{domxref("window.alert()")}} переменную selObj как параметр, который должен быть строкой. Однако мы не можем использовать свойства и метода объекта String, как на пример : <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length" title="JS/String.length">length</a></code>, <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr" title="JS/String.substr">substr</a></code>. В следствии чего, вам необходимо будет применить вручную метод   <code>toString(), как тут:</code></p>
<pre class="brush:js;gutter:false;">var selectedText = selObj.toString();</pre>
@@ -49,7 +49,7 @@ translation_of: Web/API/Window/getSelection
<p>Поля ввода HTML (inputs) предоставляют более удобный API для работы с выделенным текстом (смотрите {{domxref("HTMLInputElement.setSelectionRange()")}}).</p>
-<p>На заметку, разница между <em>selection</em> и <em>focus</em>. {{domxref("Document.activeElement")}}  - это то, что вернется элемент, который выделен (focused) .</p>
+<p>На заметку, разница между <em>selection</em> и <em>focus</em>. {{domxref("Document.activeElement")}}  - это то, что вернётся элемент, который выделен (focused) .</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/window/history/index.html b/files/ru/web/api/window/history/index.html
index fb679f5282..130637f6d3 100644
--- a/files/ru/web/api/window/history/index.html
+++ b/files/ru/web/api/window/history/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/history
---
<p>{{ APIRef }}</p>
-<p><code><strong>Window</strong>.<strong>history</strong></code> является свойством только для чтения, ссылающимся на объект {{domxref("History")}}, который предоставляет интерфейс для манипулирования историей сессии браузера (страницы, посещенные в текущей вкладке или фрейме, который был загружен на текущей странице).</p>
+<p><code><strong>Window</strong>.<strong>history</strong></code> является свойством только для чтения, ссылающимся на объект {{domxref("History")}}, который предоставляет интерфейс для манипулирования историей сессии браузера (страницы, посещённые в текущей вкладке или фрейме, который был загружен на текущей странице).</p>
<p>Смотрите <a href="/ru/docs/Web/API/History_API">Управление историей браузера</a> для примеров и подробностей. В частности, та статья объясняет особенности безопасности методов <code>pushState()</code> и <code>replaceState()</code>, о которых вы должны быть в курсе перед их использованием.</p>
@@ -22,11 +22,11 @@ history.go(-1); // эквивалент history.back();
<h2 id="Замечания">Замечания</h2>
-<p>Для последней загруженной страницы вы можете увидеть список предыдущих страниц, которые доступны через объект <code>History</code>, в выпадающем списке к кнопкам "назад" и "вперед".</p>
+<p>Для последней загруженной страницы вы можете увидеть список предыдущих страниц, которые доступны через объект <code>History</code>, в выпадающем списке к кнопкам "назад" и "вперёд".</p>
<p>По причинам безопасности объект <code>History</code> не позволяет непривилегированному коду получать доступ к URL других страниц, но позволяет осуществлять навигацию по истории сессии.</p>
-<p>Не существует способа очистить историю сессии или выключить навигацию посредствам кнопок "назад"/"вперед" из непривилегированного кода. Наиболее близкое решение использовать метод <code><a href="/en/DOM/window.location#replace" title="en/DOM/window.location#replace">location.replace()</a></code>, который заменяет текущий пункт в истории сессии на предоставленный URL.</p>
+<p>Не существует способа очистить историю сессии или выключить навигацию посредствам кнопок "назад"/"вперёд" из непривилегированного кода. Наиболее близкое решение использовать метод <code><a href="/en/DOM/window.location#replace" title="en/DOM/window.location#replace">location.replace()</a></code>, который заменяет текущий пункт в истории сессии на предоставленный URL.</p>
<h2 id="Спецификации">Спецификации</h2>
diff --git a/files/ru/web/api/window/index.html b/files/ru/web/api/window/index.html
index 38048b3bfa..ad213b866e 100644
--- a/files/ru/web/api/window/index.html
+++ b/files/ru/web/api/window/index.html
@@ -7,7 +7,7 @@ translation_of: Web/API/Window
<p><span class="seoSummary">Объект <code>window</code> представляет собой окно, содержащее DOM документ; свойство <code>document</code> указывает на <a href="/en-US/docs/DOM/document">DOM document</a>, загруженный в данном окне.</span> Окно текущего документа может быть получено с помощью свойства {{Domxref("document.defaultView")}}.</p>
-<p>Данный раздел содержит описание всех методов, свойств и событий, доступных через объект <code>window</code> DOM. Объект <code>window</code> реализует интерфейс <code>Window</code>, который наследуется от интерфейса <code><a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView">AbstractView</a></code>. Некоторые дополнительные глобальные функции, пространства имен объектов, интерфейсы и конструкторы, как правило, не связанные с окном, но доступные в нем, перечислены в <a href="/en-US/docs/JavaScript/Reference">JavaScript ссылки</a> и <a href="/en-US/docs/DOM/DOM_Reference" title="/en-US/docs/DOM/DOM_Reference">DOM ссылки</a>.</p>
+<p>Данный раздел содержит описание всех методов, свойств и событий, доступных через объект <code>window</code> DOM. Объект <code>window</code> реализует интерфейс <code>Window</code>, который наследуется от интерфейса <code><a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView">AbstractView</a></code>. Некоторые дополнительные глобальные функции, пространства имён объектов, интерфейсы и конструкторы, как правило, не связанные с окном, но доступные в нем, перечислены в <a href="/en-US/docs/JavaScript/Reference">JavaScript ссылки</a> и <a href="/en-US/docs/DOM/DOM_Reference" title="/en-US/docs/DOM/DOM_Reference">DOM ссылки</a>.</p>
<p>В браузерах, поддерживающих вкладки, таком как Firefox, каждая вкладка содержит свой собственный объект <code>window</code> (и если вы пишете расширение, окно браузера тоже является отдельным объектом window - см. <a href="/en-US/docs/Working_with_windows_in_chrome_code#Content_windows">Работа с окнами в chrome коде</a>). Таким образом, объект <code>window</code> не разделяется между разными вкладками в одном и том же окне. Некоторые методы,  а именно {{Domxref("window.resizeTo")}} и {{Domxref("window.resizeBy")}} применяется для всего окна и не принадлежат объекту <code>window</code> отдельной вкладки. Как правило, если что-то логически нельзя отнести ко вкладке, это относят к окну.</p>
@@ -27,7 +27,7 @@ translation_of: Web/API/Window
<dt>{{domxref("console","Window.console")}} {{Non-standard_inline}} {{ReadOnlyInline}}</dt>
<dd>Возвращает ссылку на объект консоли, обеспечивающего доступ к консоли браузера.</dd>
<dt>{{domxref("Window.content")}} and Window._content {{Non-standard_inline}} {{obsolete_inline}}{{ReadOnlyInline}}</dt>
- <dd>Возвращает ссылку на элемент содержимого в текущем окне. Устаревший вариант в нижним подчеркиванием более не доступен для Web-содержимого.</dd>
+ <dd>Возвращает ссылку на элемент содержимого в текущем окне. Устаревший вариант в нижним подчёркиванием более не доступен для Web-содержимого.</dd>
<dt>{{domxref("Window.controllers")}}{{non-standard_inline}}{{ReadOnlyInline}}</dt>
<dd>Возвращает XUL контроллер объектов для текущего окна chrome.</dd>
<dt>{{domxref("Window.crypto")}} {{readOnlyInline}}</dt>
@@ -77,7 +77,7 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.mozInnerScreenY")}} {{ReadOnlyInline}} {{non-standard_inline}}{{gecko_minversion_inline("1.9.2")}}</dt>
<dd>Возвращает вертикальные (Y) координаты верхнего левого угла окна просмотра в экранных координатах. Значение возвращается в CSS-пикселях. Смотри <code>mozScreenPixelsPerCSSPixel</code> для конвертирования и адаптирования к экранным пикселям, если необходимо.</dd>
<dt>{{domxref("Window.mozPaintCount")}} {{non-standard_inline}}{{ReadOnlyInline}} {{gecko_minversion_inline("2.0")}}</dt>
- <dd>Возвращает количество раз, за которые текущий документ был отрендерен для текущего экрана в этом окне. Может быть использовано для подсчета скорости преобразования.</dd>
+ <dd>Возвращает количество раз, за которые текущий документ был отрендерен для текущего экрана в этом окне. Может быть использовано для подсчёта скорости преобразования.</dd>
<dt>{{domxref("Window.name")}}</dt>
<dd>Получает/устанавливает имя для окна.</dd>
<dt>{{domxref("Window.navigator")}} {{readOnlyInline}}</dt>
@@ -154,7 +154,7 @@ translation_of: Web/API/Window
<dt>{{domxref("WindowOrWorkerGlobalScope.isSecureContext")}} {{readOnlyinline}}</dt>
<dd>Возвращает булевское значение, указывающее является ли текущий контент безопасным (<code>true</code>) или нет (<code>false</code>).</dd>
<dt>{{domxref("WindowOrWorkerGlobalScope.origin")}} {{readOnlyinline}}</dt>
- <dd>Возвращает источник глобального объекта, преобразованного в строку. (Это свойство пока еще не существует, поэтому не может быть использовано в браузерах.)</dd>
+ <dd>Возвращает источник глобального объекта, преобразованного в строку. (Это свойство пока ещё не существует, поэтому не может быть использовано в браузерах.)</dd>
</dl>
<h2 id="Методы">Методы</h2>
@@ -169,9 +169,9 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.blur()")}}</dt>
<dd>Убирает фокус с окна.</dd>
<dt>{{domxref("Window.cancelIdleCallback()")}} {{experimental_inline}}</dt>
- <dd>Позволяет отменить колбэк-функцию прежде чем определить расписание ее вызова с {{domxref("Window.requestIdleCallback")}}.</dd>
+ <dd>Позволяет отменить колбэк-функцию прежде чем определить расписание её вызова с {{domxref("Window.requestIdleCallback")}}.</dd>
<dt>{{domxref("Window.captureEvents()")}} {{Deprecated_inline}}</dt>
- <dd>Регистрирует окно, которое будет перехватывать все события определенного типа.</dd>
+ <dd>Регистрирует окно, которое будет перехватывать все события определённого типа.</dd>
<dt>{{domxref("Window.clearImmediate()")}}</dt>
<dd>Отменяет повторяющееся исполнение, установленное с помощью <code>setImmediate</code>.</dd>
<dt>{{domxref("WindowTimers.clearInterval()")}}</dt>
@@ -195,15 +195,15 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.focus()")}}</dt>
<dd>Устанавливает фокус на текущем окне.</dd>
<dt>{{domxref("Window.forward()")}} {{Non-standard_inline}} {{obsolete_inline}}</dt>
- <dd>Переходит на один документ вперед в текущей истории окна.</dd>
+ <dd>Переходит на один документ вперёд в текущей истории окна.</dd>
<dt>{{domxref("Window.getAttention()")}}</dt>
<dd>Заставляет мигать иконку приложения.</dd>
<dt>{{domxref("Window.getAttentionWithCycleCount()")}}</dt>
<dd>{{todo("NeedsContents")}}</dd>
<dt>{{domxref("Window.getComputedStyle()")}}</dt>
- <dd>Получает подсчитанные стили для определенного элемента. Подсчитанные стили включают подсчитанные значения всех CSS свойств элемента.</dd>
+ <dd>Получает подсчитанные стили для определённого элемента. Подсчитанные стили включают подсчитанные значения всех CSS свойств элемента.</dd>
<dt>{{domxref("Window.getDefaulComputedStyle()")}}</dt>
- <dd>Получает подсчитанные стили по умолчанию для определенного элемента, игнорируя авторские стили.</dd>
+ <dd>Получает подсчитанные стили по умолчанию для определённого элемента, игнорируя авторские стили.</dd>
<dt>{{domxref("Window.getSelection()")}}</dt>
<dd>Возвращает выбранный объект, представляющий выбранный элемент(ы).</dd>
<dt>{{domxref("Window.home()")}} {{Non-standard_inline}} {{obsolete_inline}}</dt>
@@ -215,11 +215,11 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.minimize()")}} (top-level XUL windows only)</dt>
<dd>Минимизирует окно.</dd>
<dt>{{domxref("Window.moveBy()")}}</dt>
- <dd>Сдвигает текущее окно на определенное значение.</dd>
+ <dd>Сдвигает текущее окно на определённое значение.</dd>
<dt>{{domxref("Window.moveTo()")}}</dt>
- <dd>Сдвигает окно до определенных координат.</dd>
+ <dd>Сдвигает окно до определённых координат.</dd>
<dt>{{domxref("Window.mozRequestAnimationFrame()")}} {{gecko_minversion_inline("2.0")}}</dt>
- <dd>Сообщает браузеру, что анимация находится в прогрессе, требуя, чтобы браузер определил время перерисовки окна для следующего анимационного фрейма. Это вызовет событие  <code>MozBeforePaint,</code> прежде чем произойдет перерисовка .</dd>
+ <dd>Сообщает браузеру, что анимация находится в прогрессе, требуя, чтобы браузер определил время перерисовки окна для следующего анимационного фрейма. Это вызовет событие  <code>MozBeforePaint,</code> прежде чем произойдёт перерисовка .</dd>
<dt>{{domxref("Window.open()")}}</dt>
<dd>Открывает новое окно.</dd>
<dt>{{domxref("Window.openDialog()")}}</dt>
@@ -229,15 +229,15 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.print()")}}</dt>
<dd>Открывает Print Dialog для распечатки текущего документа.</dd>
<dt>{{domxref("Window.prompt()")}}</dt>
- <dd>Возвращает текст, введенный пользователем в диалоге подсказки.</dd>
+ <dd>Возвращает текст, введённый пользователем в диалоге подсказки.</dd>
<dt>{{domxref("Window.releaseEvents()")}} {{Deprecated_inline}}</dt>
- <dd>Возвращает окно с захваченных событий определенного типа.</dd>
+ <dd>Возвращает окно с захваченных событий определённого типа.</dd>
<dt>{{domxref("element.removeEventListener","Window.removeEventListener()")}}</dt>
<dd>Удаляет обработчик события из окна.</dd>
<dt>{{domxref("Window.requestIdleCallback()")}}  {{experimental_inline}}</dt>
<dd>Позволяет назначить расписание задачи во время периода простоя браузера.</dd>
<dt>{{domxref("Window.resizeBy()")}}</dt>
- <dd>Меняет размер текущего окна на определенное число.</dd>
+ <dd>Меняет размер текущего окна на определённое число.</dd>
<dt>{{domxref("Window.resizeTo()")}}</dt>
<dd>Динамически меняет размер окна.</dd>
<dt>{{domxref("Window.restore()")}}</dt>
@@ -257,7 +257,7 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.setCursor()")}}</dt>
<dd>Меняет курсор для текущего окна.</dd>
<dt>{{domxref("Window.setImmediate()")}}</dt>
- <dd>Исполняет функцию после того, как браузер некую тяжелую задачу.</dd>
+ <dd>Исполняет функцию после того, как браузер некую тяжёлую задачу.</dd>
<dt>{{domxref("WindowTimers.setInterval()")}}</dt>
<dd>Назначает выполнение функции каждые X миллисекунд.</dd>
<dt>{{domxref("Window.setResizable")}}</dt>
@@ -276,7 +276,7 @@ translation_of: Web/API/Window
<h3 id="Методы_реализованные_из_других_мест">Методы, реализованные из других мест</h3>
</dt>
<dt>{{domxref("EventTarget.addEventListener()")}}</dt>
- <dd>Регистрирует обработчики определенного типа событий в окне.</dd>
+ <dd>Регистрирует обработчики определённого типа событий в окне.</dd>
<dt>{{domxref("WindowOrWorkerGlobalScope.atob()")}}</dt>
<dd>Декодирует строку данных, которая была закодирована, используя кодировку base-64.</dd>
<dt>{{domxref("WindowOrWorkerGlobalScope.btoa()")}}</dt>
@@ -361,7 +361,7 @@ translation_of: Web/API/Window
<dt>{{domxref("GlobalEventHandlers.onload")}}</dt>
<dd>Свойство обработчика событий для загрузки окна.</dd>
<dt>{{domxref("WindowEventHandlers.onmessage")}}</dt>
- <dd>{{domxref("EventHandler")}}, представляющий собой код, который будет вызван, когда произойдет событие {{event("message")}}.</dd>
+ <dd>{{domxref("EventHandler")}}, представляющий собой код, который будет вызван, когда произойдёт событие {{event("message")}}.</dd>
<dt>{{domxref("GlobalEventHandlers.onmousedown")}}</dt>
<dd>Свойство обработчика событий для события mousedown в окне.</dd>
<dt>{{domxref("GlobalEventHandlers.onmousemove")}}</dt>
@@ -395,11 +395,11 @@ translation_of: Web/API/Window
<dt>{{domxref("GlobalEventHandlers.onscroll")}}</dt>
<dd>Свойство обработчика событий для прокрутки окна.</dd>
<dt>{{domxref("GlobalEventHandlers.onwheel")}}</dt>
- <dd>Вызывается, когда было прокручено колесико мыши в любую сторону.</dd>
+ <dd>Вызывается, когда было прокручено колёсико мыши в любую сторону.</dd>
<dt>{{domxref("GlobalEventHandlers.onselect")}}</dt>
<dd>Свойство обработчика событий для события выбора в окне.</dd>
<dt>{{domxref("GlobalEventHandlers.onselectionchange")}}</dt>
- <dd>{{domxref("EventHandler")}}, представляющий собой код, который будет вызван, когда произойдет событие {{event("selectionchange")}}.</dd>
+ <dd>{{domxref("EventHandler")}}, представляющий собой код, который будет вызван, когда произойдёт событие {{event("selectionchange")}}.</dd>
<dt>{{domxref("GlobalEventHandlers.onsubmit")}}</dt>
<dd>Свойство обработчика событий для события submits в окне формы.</dd>
<dt>{{domxref("WindowEventHandlers.onunhandledrejection")}} {{experimental_inline}}</dt>
@@ -413,7 +413,7 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.onvrdisplaydisconnected")}} {{experimental_inline}}</dt>
<dd>Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности было отсоединено от компьютера (когда запускается событие {{event("vrdisplaydisconnected")}}).</dd>
<dt>{{domxref("Window.onvrdisplaypresentchange")}} {{experimental_inline}}</dt>
- <dd>Представляет обработчик события, который будет запущен, когда изменится состояние устройства виртуальной реальности — т.е. перейдет от  представленного к непредставленному или наоборот (когда будет запущено событие {{event("onvrdisplaypresentchange")}}).</dd>
+ <dd>Представляет обработчик события, который будет запущен, когда изменится состояние устройства виртуальной реальности — т.е. перейдёт от  представленного к непредставленному или наоборот (когда будет запущено событие {{event("onvrdisplaypresentchange")}}).</dd>
</dl>
<h2 id="Конструкторы">Конструкторы</h2>
@@ -422,7 +422,7 @@ translation_of: Web/API/Window
<dl>
<dt>{{domxref("Window.ConstantSourceNode")}}</dt>
- <dd>Создает экземпляр {{domxref("ConstantSourceNode")}}</dd>
+ <dd>Создаёт экземпляр {{domxref("ConstantSourceNode")}}</dd>
</dl>
<dl>
@@ -431,9 +431,9 @@ translation_of: Web/API/Window
<dt>{{domxref("Window.GeckoActiveXObject")}}</dt>
<dd>{{todo("NeedsContents")}}</dd>
<dt>{{domxref("Image")}}</dt>
- <dd>Создает {{domxref("HTMLImageElement")}}.</dd>
+ <dd>Создаёт {{domxref("HTMLImageElement")}}.</dd>
<dt>{{domxref("Option")}}</dt>
- <dd>Создает {{domxref("HTMLOptionElement")}}</dd>
+ <dd>Создаёт {{domxref("HTMLOptionElement")}}</dd>
<dt>{{domxref("Window.QueryInterface")}}</dt>
<dd>{{todo("NeedsContents")}}</dd>
<dt>{{domxref("Window.XMLSerializer")}}</dt>
diff --git a/files/ru/web/api/window/innerheight/index.html b/files/ru/web/api/window/innerheight/index.html
index 5207cf8536..a9ab800401 100644
--- a/files/ru/web/api/window/innerheight/index.html
+++ b/files/ru/web/api/window/innerheight/index.html
@@ -33,7 +33,7 @@ translation_of: Web/API/Window/innerHeight
<pre class="brush:js">var intFrameHeight = window.innerHeight; // or
var intFrameHeight = self.innerHeight;
-// вернет высоту окна просмотра кадра в наборе кадров
+// вернёт высоту окна просмотра кадра в наборе кадров
var intFramesetHeight = parent.innerHeight;
// will return the height of the viewport of the closest frameset
diff --git a/files/ru/web/api/window/localstorage/index.html b/files/ru/web/api/window/localstorage/index.html
index d16b779f35..b5143f7ccf 100644
--- a/files/ru/web/api/window/localstorage/index.html
+++ b/files/ru/web/api/window/localstorage/index.html
@@ -17,7 +17,7 @@ translation_of: Web/API/Window/localStorage
<p>Свойство <strong><code>localStorage</code></strong> позволяет получить доступ к {{domxref("Storage")}} объекту. <code>localStorage</code> аналогично свойству <code><a href="/en-US/docs/Web/API/Window.sessionStorage">sessionStorage</a></code>. Разница только в том, что свойство <code>sessionStorage </code>хранит данные в течение сеанса (до закрытия браузера), в отличие от данных,  находящихся в свойстве <code>localStorage</code>, которые не имеют ограничений по времени хранения и могут быть удалены только с помощью JavaScript.</p>
-<p>Следует отметить, что данные, сохраненные как в <code>localStorage</code>, так и в <code>sessionStorage</code>, являться специфичными для протокола страницы.</p>
+<p>Следует отметить, что данные, сохранённые как в <code>localStorage</code>, так и в <code>sessionStorage</code>, являться специфичными для протокола страницы.</p>
<p>Ключи и значения <strong>всегда строки</strong> (так же, как и объекты, целочисленные ключи автоматически будут преобразованы в строки).</p>
@@ -42,7 +42,7 @@ translation_of: Web/API/Window/localStorage
<pre class="brush: js">localStorage.setItem('myCat', 'Tom');</pre>
-<p>Считывать данные из localStorage для определенного ключа, можно следующим образом:</p>
+<p>Считывать данные из localStorage для определённого ключа, можно следующим образом:</p>
<pre class="brush: js">let cat = localStorage.getItem('myCat');
</pre>
@@ -83,7 +83,7 @@ translation_of: Web/API/Window/localStorage
<p>{{Compat("api.Window.localStorage")}}</p>
-<p>Все браузеры имеют различный уровень объема для <code>localStorage</code> и <code>sessionStorage</code>. Здесь <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p>
+<p>Все браузеры имеют различный уровень объёма для <code>localStorage</code> и <code>sessionStorage</code>. Здесь <a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объёма хранилищ для разных браузеров</a>.</p>
<h2 id="Смотрите_также">Смотрите также</h2>
diff --git a/files/ru/web/api/window/location/index.html b/files/ru/web/api/window/location/index.html
index d14951e9d3..26f2f2cd00 100644
--- a/files/ru/web/api/window/location/index.html
+++ b/files/ru/web/api/window/location/index.html
@@ -29,7 +29,7 @@ location = <em>newLocation</em>;
<h3 id="Пример_№1_Переход_на_новую_страницу">Пример №1: Переход на новую страницу</h3>
-<p>Каждый раз, когда объекту location присвоено новое значение, документ будет загружен используя URL как если бы был вызван <code>location.assign()</code> с измененным URL. Отметим, что настройки безопасности, подобные CORS, могут препятствовать этому эффекту.</p>
+<p>Каждый раз, когда объекту location присвоено новое значение, документ будет загружен используя URL как если бы был вызван <code>location.assign()</code> с изменённым URL. Отметим, что настройки безопасности, подобные CORS, могут препятствовать этому эффекту.</p>
<pre class="brush: js">location.assign("http://www.mozilla.org"); // или
location = "http://www.mozilla.org";
@@ -73,7 +73,7 @@ location = "http://www.mozilla.org";
// в html: &lt;button onclick="sendData('Some data');"&gt;Отправить данные&lt;/button&gt;
</pre>
-<p>Текущий URL с добавлением "?Some%20data" отправляется на сервер (если сервером не предпринимается никаких действий, то текущий документ перезагружается за счет изменения строки search).</p>
+<p>Текущий URL с добавлением "?Some%20data" отправляется на сервер (если сервером не предпринимается никаких действий, то текущий документ перезагружается за счёт изменения строки search).</p>
<h3 id="Пример_№6_Использование_закладок_без_изменения_свойства_hash">Пример №6: Использование закладок без изменения свойства hash</h3>
diff --git a/files/ru/web/api/window/mozanimationstarttime/index.html b/files/ru/web/api/window/mozanimationstarttime/index.html
index 372a07f62e..52c4ce128c 100644
--- a/files/ru/web/api/window/mozanimationstarttime/index.html
+++ b/files/ru/web/api/window/mozanimationstarttime/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/Window/mozAnimationStartTime
<h3 id="Summary" name="Summary">Summary</h3>
-<p>Возвращает время в миллисекундах с начала эпохи UNIX, начиная с которого анимации, начавшиеся в определенный момент, должны быть сочтены уже начавшимися. Это значение должно быть использовано вместо, например, <code><a href="/en/JavaScript/Reference/Global_Objects/Date/now" title="en/JavaScript/Reference/Global Objects/Date/now">Date.now()</a></code>, потому что оно будет тем же самым для анимаций, начавшихся в этом окне в течение этого интервала, позволяя им синхронизироваться между собой.</p>
+<p>Возвращает время в миллисекундах с начала эпохи UNIX, начиная с которого анимации, начавшиеся в определённый момент, должны быть сочтены уже начавшимися. Это значение должно быть использовано вместо, например, <code><a href="/en/JavaScript/Reference/Global_Objects/Date/now" title="en/JavaScript/Reference/Global Objects/Date/now">Date.now()</a></code>, потому что оно будет тем же самым для анимаций, начавшихся в этом окне в течение этого интервала, позволяя им синхронизироваться между собой.</p>
<p>Это также позволяет анимациям JavaScript оставаться синхронизированными с CSS переходами и SMIL анимациями, запущенными в течение того же интервала обновления.</p>
diff --git a/files/ru/web/api/window/pageyoffset/index.html b/files/ru/web/api/window/pageyoffset/index.html
index 2ecd37d8a1..d2267fe9e8 100644
--- a/files/ru/web/api/window/pageyoffset/index.html
+++ b/files/ru/web/api/window/pageyoffset/index.html
@@ -25,7 +25,7 @@ translation_of: Web/API/Window/pageYOffset
<h3 id="Значение">Значение</h3>
-<p>Количество пикселей, на которое документ {{domxref("Document")}} прокручен вертикально в рамках окна {{domxref("Window")}}, выражено числом с плавающей запятой. Оно рассчитывается с субпиксельной точностью и, таким образом, не обязательно будет целым числом. Значение равное 0.0 означает, что вертикальная прокрутка еще не была совершена, и верхний край документа сейчас соответствует верхнему краю области содержимого окна.</p>
+<p>Количество пикселей, на которое документ {{domxref("Document")}} прокручен вертикально в рамках окна {{domxref("Window")}}, выражено числом с плавающей запятой. Оно рассчитывается с субпиксельной точностью и, таким образом, не обязательно будет целым числом. Значение равное 0.0 означает, что вертикальная прокрутка ещё не была совершена, и верхний край документа сейчас соответствует верхнему краю области содержимого окна.</p>
<p>Т.к. данное свойство соответствует {{domxref("Window.scrollY")}}, обратитесь к его описанию за более детальной информацией о значении и использовании.</p>
@@ -81,7 +81,7 @@ document.getElementById("frame").contentDocument
</pre>
</div>
-<p>В данном примере создается элемент {{HTMLElement("iframe")}}, и задается его содержимое, затем определенный элемент этого документа прокручивается в область рамки. Как только это произошло, выясняется положение вертикальной прокрутки с помощью значения <code>pageYOffset</code>  у элемента {{domxref("HTMLIFrameElement.contentWindow", "contentWindow")}} в рамке.</p>
+<p>В данном примере создаётся элемент {{HTMLElement("iframe")}}, и задаётся его содержимое, затем определённый элемент этого документа прокручивается в область рамки. Как только это произошло, выясняется положение вертикальной прокрутки с помощью значения <code>pageYOffset</code>  у элемента {{domxref("HTMLIFrameElement.contentWindow", "contentWindow")}} в рамке.</p>
<h3 id="HTML">HTML</h3>
diff --git a/files/ru/web/api/window/popstate_event/index.html b/files/ru/web/api/window/popstate_event/index.html
index 65c7ef6a93..c2f07004b4 100644
--- a/files/ru/web/api/window/popstate_event/index.html
+++ b/files/ru/web/api/window/popstate_event/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/popstate_event
---
<p>Событие <code>popstate</code> вызывается, когда изменяется активная запись истории. Если изменение записи истории было вызвано методом <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method">history.pushState()</a></code> или <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method">history.replaceState()</a></code>, то состояние события <code>popstate</code> будет содержать <code>state </code>копии входящего в историю объекта</p>
-<p>Обратите внимание,  <code>history.pushState()</code> или <code>history.replaceState()</code> не вызывают событие <code>popstate</code>. Событие <code>popstate</code> будет вызвано при совершении действий в браузере, таких как нажатие кнопок "Вперед" или "Назад" (или при вызове <code>history.back()</code> или <code> history.forward()</code> из JavaScript).</p>
+<p>Обратите внимание,  <code>history.pushState()</code> или <code>history.replaceState()</code> не вызывают событие <code>popstate</code>. Событие <code>popstate</code> будет вызвано при совершении действий в браузере, таких как нажатие кнопок "Вперёд" или "Назад" (или при вызове <code>history.back()</code> или <code> history.forward()</code> из JavaScript).</p>
<p>Браузеры работают с  событием <code>popstate</code> по разному. Chrome (prior to v34) и Safari всегда вызывают <code>popstate</code> по окончании загрузки страницы, а Firefox не делает этого.</p>
diff --git a/files/ru/web/api/window/postmessage/index.html b/files/ru/web/api/window/postmessage/index.html
index d6db0cff3a..749e388816 100644
--- a/files/ru/web/api/window/postmessage/index.html
+++ b/files/ru/web/api/window/postmessage/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/postMessage
---
<div>{{ApiRef("HTML DOM")}}</div>
-<p><strong><code>Window.postMessage()</code></strong> - этот метод позволяет безопасно отправлять кроссдоменные запросы. Обычно сценариям на разных страницах разрешен доступ друг к другу только если страницы, которые их выполняли, передаются по одному  протоколу (обычно это https), номер порта (443 — по умолчанию для https) и хост (modulo {{domxref("Document.domain")}} установленный страницами на одно и тоже значение). <code>window.postMessage()</code> предоставляет контролируемый механизм, чтобы обойти это ограничение способом, который безопасен при правильном использовании.</p>
+<p><strong><code>Window.postMessage()</code></strong> - этот метод позволяет безопасно отправлять кроссдоменные запросы. Обычно сценариям на разных страницах разрешён доступ друг к другу только если страницы, которые их выполняли, передаются по одному  протоколу (обычно это https), номер порта (443 — по умолчанию для https) и хост (modulo {{domxref("Document.domain")}} установленный страницами на одно и тоже значение). <code>window.postMessage()</code> предоставляет контролируемый механизм, чтобы обойти это ограничение способом, который безопасен при правильном использовании.</p>
<p><font face="Open Sans, arial, x-locale-body, sans-serif">При вызове метода </font><code>window.postMessage()</code> он вызывает {{domxref("MessageEvent")}} для отправки в целевом окне, когда завершается любой ожидающий сценарий, который должен быть выполнен (например, оставшиеся обработчики событий, если <code>window.postMessage()</code> вызывается из обработчика событий ранее заданных ожидающих таймаутов). {{domxref("MessageEvent")}} имеет тип  <code>message</code>, <code>data-свойство</code> которого устанавливает значение первого аргумента в методе <code>window.postMessage()</code>, свойство <code>origin</code>  соответствует адресу основного документа в вызове <code>window.postMessage</code> во время  вызова <code>window.postMessage()</code>, свойство <code>source</code> указывает на окно, из которого <code>window.postMessage()</code> вызвали. (Другие стандартные свойства событий имеют ожидаемые значения)</p>
@@ -54,7 +54,7 @@ function receiveMessage(event)
<p><strong>Если вы не ожидаете получения сообщения от других сайтов, не добавляйте обработчики событий <code>message</code>.</strong> Это гарантированный способ избежать проблем с безопасностью.</p>
-<p>Если же вы хотите получать сообщения от других сайтов, то всегда необходимо идентифицировать отправителя, используя <code>origin</code> и возможно <code>source</code> свойства. Любой сайт (включая, например, <code class="nowiki">http://evil.example.com</code>) может отправлять сообщения любым другим, и у вас нет гарантии, что неизвестный отправитель не пошлет вредоносные сообщения. Однако даже если отправитель известен, вам все равно необходимо всегда подтверждать синтаксис получаемого сообщения. Иначе, дыра в безопасности сайта, которому вы доверяете, может открыть дыру для межсайтового скриптинга на вашем сайте.</p>
+<p>Если же вы хотите получать сообщения от других сайтов, то всегда необходимо идентифицировать отправителя, используя <code>origin</code> и возможно <code>source</code> свойства. Любой сайт (включая, например, <code class="nowiki">http://evil.example.com</code>) может отправлять сообщения любым другим, и у вас нет гарантии, что неизвестный отправитель не пошлёт вредоносные сообщения. Однако даже если отправитель известен, вам все равно необходимо всегда подтверждать синтаксис получаемого сообщения. Иначе, дыра в безопасности сайта, которому вы доверяете, может открыть дыру для межсайтового скриптинга на вашем сайте.</p>
<p><strong>Всегда конкретизируйте целевой первоисточник, а не просто <code>*</code>, когда вы используете <code>postMessage</code> для отправки данных другим окнам. Вредоносный сайт может изменить локацию окна без вашего ведома и затем перехватить данные, посылаемые с использованием </strong><code>postMessage</code>.</p>
diff --git a/files/ru/web/api/window/prompt/index.html b/files/ru/web/api/window/prompt/index.html
index 14c240a49a..643ae4685e 100644
--- a/files/ru/web/api/window/prompt/index.html
+++ b/files/ru/web/api/window/prompt/index.html
@@ -32,7 +32,7 @@ var sign = prompt(); // открывается пустое окошко
var sign = window.prompt('Are you feeling lucky'); // открывается окошко с текстом "Are you feeling lucky"
var sign = window.prompt('Are you feeling lucky', 'sure'); // открывается окошко с текстом "Are you feeling lucky" и значением по умолчанию "sure"</pre>
-<p>Когда пользователь нажимает кнопку OK, функция возвращает текст, введенный в поле. Если пользователь нажимает кнопку OK, без ввода какого-либо текста - возвращается пустая строка. Если пользователь нажимает кнопку Cancel, то функция возвращает <code>null</code>.</p>
+<p>Когда пользователь нажимает кнопку OK, функция возвращает текст, введённый в поле. Если пользователь нажимает кнопку OK, без ввода какого-либо текста - возвращается пустая строка. Если пользователь нажимает кнопку Cancel, то функция возвращает <code>null</code>.</p>
<p>Вышеописанный prompt будет выглядеть следующим образом (в Chrome на OS X):</p>
@@ -40,7 +40,7 @@ var sign = window.prompt('Are you feeling lucky', 'sure'); // открывает
<h2 id="Notes" name="Notes">Примечания</h2>
-<p>prompt диалог содержит однострочное текстовое поле, кнопку Cancel и кнопку OK, и возвращает (возможно пустой) текст введенный пользователем в текстовое поле.</p>
+<p>prompt диалог содержит однострочное текстовое поле, кнопку Cancel и кнопку OK, и возвращает (возможно пустой) текст введённый пользователем в текстовое поле.</p>
<p><span class="comment">The following text is shared between this article, DOM:window.confirm and DOM:window.alert</span>Диалоговые окна являются модальными; они блокируют доступ пользователя к остальному интерфейсу программы, пока диалоговое окно не будет закрыто. По этой причине вы не должны злоупотреблять функциями, которые создают диалоговое окно (или модальное окно).</p>
diff --git a/files/ru/web/api/window/requestanimationframe/index.html b/files/ru/web/api/window/requestanimationframe/index.html
index e0a03b8dad..ae4dfb12d5 100644
--- a/files/ru/web/api/window/requestanimationframe/index.html
+++ b/files/ru/web/api/window/requestanimationframe/index.html
@@ -51,7 +51,7 @@ window.requestAnimationFrame(step);</pre>
<h2 id="Примечание">Примечание</h2>
-<p>В Edge версиях младше 17 и в Internet Explorer не надежно запускать <code>requestAnimationFrame</code> перед циклом рисования.</p>
+<p>В Edge версиях младше 17 и в Internet Explorer не надёжно запускать <code>requestAnimationFrame</code> перед циклом рисования.</p>
<h2 id="Specification" name="Specification">Спецификация</h2>
diff --git a/files/ru/web/api/window/self/index.html b/files/ru/web/api/window/self/index.html
index 327e29d143..b564cfc1d4 100644
--- a/files/ru/web/api/window/self/index.html
+++ b/files/ru/web/api/window/self/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/self
---
<p>{{ APIRef() }}</p>
-<p>Свойство <code><strong>Window.self</strong></code> доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект <code>window</code> (<code>window.self</code>) или переменную <code>self</code>. Преимущество доступа через переменную <code>self</code> заключается в том, что ее можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование <code>self</code> дает возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае <code>self</code> эквивалентна <code>window.self</code>), но также в воркерах (в случае воркера <code>self</code> эквивалентна {{domxref("WorkerGlobalScope.self")}}).</p>
+<p>Свойство <code><strong>Window.self</strong></code> доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект <code>window</code> (<code>window.self</code>) или переменную <code>self</code>. Преимущество доступа через переменную <code>self</code> заключается в том, что её можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование <code>self</code> даёт возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае <code>self</code> эквивалентна <code>window.self</code>), но также в воркерах (в случае воркера <code>self</code> эквивалентна {{domxref("WorkerGlobalScope.self")}}).</p>
<h2 id="Notes" name="Notes">Пример</h2>
diff --git a/files/ru/web/api/window/sessionstorage/index.html b/files/ru/web/api/window/sessionstorage/index.html
index 787b2f308d..720db502de 100644
--- a/files/ru/web/api/window/sessionstorage/index.html
+++ b/files/ru/web/api/window/sessionstorage/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Window/sessionStorage
---
<p>{{APIRef()}}</p>
-<p><code><font face="Open Sans, Arial, sans-serif">Свойство </font>sessionStorage</code> позволяет получить доступ к объекту {{domxref("Storage")}} текущей сессии. Свойство sessionStorage очень похоже на свойство {{domxref("Window.localStorage")}}, единственное различие заключается в том, что все данные, сохраненные в localStorage не имеют определенного времени жизни, а данные в sessionStorage очищаются в момент окончания сессии текущий страницы. Сессия страницы остается активной все время пока окно браузера открыто и сохраняется между перезагрузками страниц. <strong>Открытие той же страницы в новом окне браузера или новой вкладке приводит к созданию новой сессии страницы, </strong>что отличается от поведения session cookies<strong>.</strong></p>
+<p><code><font face="Open Sans, Arial, sans-serif">Свойство </font>sessionStorage</code> позволяет получить доступ к объекту {{domxref("Storage")}} текущей сессии. Свойство sessionStorage очень похоже на свойство {{domxref("Window.localStorage")}}, единственное различие заключается в том, что все данные, сохранённые в localStorage не имеют определённого времени жизни, а данные в sessionStorage очищаются в момент окончания сессии текущий страницы. Сессия страницы остаётся активной все время пока окно браузера открыто и сохраняется между перезагрузками страниц. <strong>Открытие той же страницы в новом окне браузера или новой вкладке приводит к созданию новой сессии страницы, </strong>что отличается от поведения session cookies<strong>.</strong></p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -25,7 +25,7 @@ var data = sessionStorage.getItem('key');</pre>
<pre class="brush: js">sessionStorage.setItem('myCat', 'Tom');</pre>
-<p>Следующий пример автоматически сохраняет содержимое текстового поля. Если страница случайно будет обновлена значение  текстового поля будет восстановлено. Таким образом ничего из введенного пользователем не потеряется даже в этом случае.</p>
+<p>Следующий пример автоматически сохраняет содержимое текстового поля. Если страница случайно будет обновлена значение  текстового поля будет восстановлено. Таким образом ничего из введённого пользователем не потеряется даже в этом случае.</p>
<pre class="brush: js">// Получаем ссылку на текстовое поле,
// изменение которого будем отслеживать.
diff --git a/files/ru/web/api/window/unhandledrejection_event/index.html b/files/ru/web/api/window/unhandledrejection_event/index.html
index c32838dc9c..cd1996b7b2 100644
--- a/files/ru/web/api/window/unhandledrejection_event/index.html
+++ b/files/ru/web/api/window/unhandledrejection_event/index.html
@@ -4,7 +4,7 @@ slug: Web/API/Window/unhandledrejection_event
translation_of: Web/API/Window/unhandledrejection_event
original_slug: Web/Events/unhandledrejection
---
-<p>Событие <strong><code>unhandledrejection</code></strong> происходит, когда {{jsxref("Promise")}} завершен с ошибкой, но на данную ошибку не установлен обработчик.</p>
+<p>Событие <strong><code>unhandledrejection</code></strong> происходит, когда {{jsxref("Promise")}} завершён с ошибкой, но на данную ошибку не установлен обработчик.</p>
<table class="properties">
<tbody>
@@ -37,7 +37,7 @@ original_slug: Web/Events/unhandledrejection
<h2 id="Inheritance">Inheritance</h2>
-<p>Событие <code>unhandledrejection</code> реализует {{domxref("PromiseRejectionEvent")}} интерфейс, который наследуется от {{domxref("Event")}}. Вы можете использовать свойства и методы, определенные в данных интерфейсах.</p>
+<p>Событие <code>unhandledrejection</code> реализует {{domxref("PromiseRejectionEvent")}} интерфейс, который наследуется от {{domxref("Event")}}. Вы можете использовать свойства и методы, определённые в данных интерфейсах.</p>
<p>{{InheritanceDiagram('','','', 'PromiseRejectionEvent')}}</p>
diff --git a/files/ru/web/api/windoweventhandlers/onpopstate/index.html b/files/ru/web/api/windoweventhandlers/onpopstate/index.html
index 62d82bd693..049f842c4f 100644
--- a/files/ru/web/api/windoweventhandlers/onpopstate/index.html
+++ b/files/ru/web/api/windoweventhandlers/onpopstate/index.html
@@ -38,7 +38,7 @@ history.back(); // alerts "location: http://example.com/example.html, state: nul
history.go(2); // alerts "location: http://example.com/example.html?page=3, state: {"page":3}
</pre>
-<p>Обратите внимание, что даже несмотря на то, что первоначальная запись истории (для <code>http://example.com/example.html</code>) не имеет объекта события, связанного с ней, событие <code>popstate</code> все равно произойдет, когда мы активируем эту запись после второго вызова <code>history.back()</code>.</p>
+<p>Обратите внимание, что даже несмотря на то, что первоначальная запись истории (для <code>http://example.com/example.html</code>) не имеет объекта события, связанного с ней, событие <code>popstate</code> все равно произойдёт, когда мы активируем эту запись после второго вызова <code>history.back()</code>.</p>
<h2 id="Specification" name="Specification">Спецификация</h2>
diff --git a/files/ru/web/api/windoworworkerglobalscope/atob/index.html b/files/ru/web/api/windoworworkerglobalscope/atob/index.html
index 28d58a52f1..b158668263 100644
--- a/files/ru/web/api/windoworworkerglobalscope/atob/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/atob/index.html
@@ -117,7 +117,7 @@ var decodedData = window.atob(encodedData); // декодирует строку
<p>[2] Начиная с <a href="/en-US/Firefox/Releases/27/Site_Compatibility">Firefox 27</a>, <code>atob()</code> игнорирует все символы пробелов в аргументе, чтобы соответствовать последним  HTML5 спецификациям (смотри {{bug(711180)}}).</p>
-<p>[3] <code>atob()</code> теперь определен в  миксине {{domxref("WindowOrWorkerGlobalScope")}}.</p>
+<p>[3] <code>atob()</code> теперь определён в  миксине {{domxref("WindowOrWorkerGlobalScope")}}.</p>
<h2 id="Смотри_также">Смотри также</h2>
diff --git a/files/ru/web/api/windoworworkerglobalscope/btoa/index.html b/files/ru/web/api/windoworworkerglobalscope/btoa/index.html
index fdb51cfb15..3ccd17db68 100644
--- a/files/ru/web/api/windoworworkerglobalscope/btoa/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/btoa/index.html
@@ -6,7 +6,7 @@ original_slug: Web/API/WindowBase64/btoa
---
<div>{{APIRef("HTML DOM")}}</div>
-<p>Создает ASCII строку закодированную в base-64 из "строки" бинарных данных.</p>
+<p>Создаёт ASCII строку закодированную в base-64 из "строки" бинарных данных.</p>
<p>Будьте внимательней этот способ не подходит для <a href="http://www.unicode.org/standard/WhatIsUnicode.html">Unicode</a> строк! Описание работы с Unicode в секции ниже.</p>
diff --git a/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html b/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html
index 8d398013ce..aeedb7435c 100644
--- a/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html
@@ -17,14 +17,14 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/clearTimeout
<dl>
<dt><code><em>timeoutID</em></code></dt>
<dd></dd>
- <dd>Идентификатор таймаута, который вы хотите отменить. Этот идентификатор был возвращен соответствующим вызовом <code>setTimeout()</code>.</dd>
+ <dd>Идентификатор таймаута, который вы хотите отменить. Этот идентификатор был возвращён соответствующим вызовом <code>setTimeout()</code>.</dd>
</dl>
<p>It's worth noting that the pool of IDs used by {{domxref("WindowOrWorkerGlobalScope.setTimeout", "setTimeout()")}} and {{domxref("WindowOrWorkerGlobalScope.setInterval", "setInterval()")}} are shared, which means you can technically use <code>clearTimeout()</code> and {{domxref("WindowOrWorkerGlobalScope.clearInterval", "clearInterval()")}} interchangeably. However, for clarity, you should avoid doing so.</p>
<h2 id="Example" name="Example">Пример использования:</h2>
-<p>Запустите приведенный ниже скрипт в контакте веб-страницы и кликните один раз. Вы увидите всплывающее сообщение через 1 секунду. Если вы щелкните страницу несколько раз за одну секунду, предупреждение появится только один раз.</p>
+<p>Запустите приведённый ниже скрипт в контакте веб-страницы и кликните один раз. Вы увидите всплывающее сообщение через 1 секунду. Если вы щёлкните страницу несколько раз за одну секунду, предупреждение появится только один раз.</p>
<pre class="brush: js notranslate">var alarm = {
  remind: function(aMessage) {
@@ -51,7 +51,7 @@ window.onclick = function() { alarm.setup(); };
<h2 id="Notes" name="Notes">Примечания</h2>
-<p>Передача недействительного ID <code>clearTimeout()</code> ни к чему не приведет. Исключение не создается.</p>
+<p>Передача недействительного ID <code>clearTimeout()</code> ни к чему не приведёт. Исключение не создается.</p>
<h2 id="Specification" name="Specification">Спецификация</h2>
diff --git a/files/ru/web/api/windoworworkerglobalscope/fetch/index.html b/files/ru/web/api/windoworworkerglobalscope/fetch/index.html
index d95c0b77ec..cffef51d3e 100644
--- a/files/ru/web/api/windoworworkerglobalscope/fetch/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/fetch/index.html
@@ -70,7 +70,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/fetch
<tbody>
<tr>
<td><code>AbortError</code></td>
- <td>Запрос был отменен (используя {{domxref("AbortController.abort()")}}).</td>
+ <td>Запрос был отменён (используя {{domxref("AbortController.abort()")}}).</td>
</tr>
<tr>
<td><code>TypeError</code></td>
@@ -81,7 +81,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/fetch
<h2 id="Пример">Пример</h2>
-<p>В нашем <a href="https://github.com/mdn/fetch-examples/tree/master/fetch-request">Fetch Request примере</a> (см. <a href="https://mdn.github.io/fetch-examples/fetch-request/">Fetch Request live</a>) мы создаем новый объект {{domxref("Request")}} (запроса), используя релевантный конструктор, а затем получаем его вызовом <code>fetch()</code>. Так как запрашиваемый ресурс - изображение, для того, чтобы присвоить ему подходящий MIME тип и обработать должным образом, мы применяем к ответу метод {{domxref("Body.blob()")}}, после чего создаем для него Object URL и передаем ее в элемент {{htmlelement("img")}}.</p>
+<p>В нашем <a href="https://github.com/mdn/fetch-examples/tree/master/fetch-request">Fetch Request примере</a> (см. <a href="https://mdn.github.io/fetch-examples/fetch-request/">Fetch Request live</a>) мы создаём новый объект {{domxref("Request")}} (запроса), используя релевантный конструктор, а затем получаем его вызовом <code>fetch()</code>. Так как запрашиваемый ресурс - изображение, для того, чтобы присвоить ему подходящий MIME тип и обработать должным образом, мы применяем к ответу метод {{domxref("Body.blob()")}}, после чего создаём для него Object URL и передаём её в элемент {{htmlelement("img")}}.</p>
<pre class="brush: js">var myImage = document.querySelector('img');
@@ -94,7 +94,7 @@ fetch(myRequest).then(function(response) {
myImage.src = objectURL;
});</pre>
-<p>В нашем <a href="https://github.com/mdn/fetch-examples/blob/master/fetch-with-init-then-request/index.html">Fetch with init then Request примере</a> (см. <a href="https://mdn.github.io/fetch-examples/fetch-with-init-then-request/">Fetch Request init live</a>) мы делаем тоже самое, за исключением того, что передаем в качестве аргумента для <code>fetch()</code> объект init:</p>
+<p>В нашем <a href="https://github.com/mdn/fetch-examples/blob/master/fetch-with-init-then-request/index.html">Fetch with init then Request примере</a> (см. <a href="https://mdn.github.io/fetch-examples/fetch-with-init-then-request/">Fetch Request init live</a>) мы делаем тоже самое, за исключением того, что передаём в качестве аргумента для <code>fetch()</code> объект init:</p>
<pre class="brush: js">var myImage = document.querySelector('img');
diff --git a/files/ru/web/api/windoworworkerglobalscope/index.html b/files/ru/web/api/windoworworkerglobalscope/index.html
index 8f38321cb1..0a7bacf45b 100644
--- a/files/ru/web/api/windoworworkerglobalscope/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/index.html
@@ -47,7 +47,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope
<dt>{{domxref("WindowOrWorkerGlobalScope.atob()")}}</dt>
<dd>Декодирует строку данных, которая была закодирована с использованием кодировки base-64.</dd>
<dt>{{domxref("WindowOrWorkerGlobalScope.btoa()")}}</dt>
- <dd>Создает ASCII строку в кодировке base-64 из строки бинарных данных.</dd>
+ <dd>Создаёт ASCII строку в кодировке base-64 из строки бинарных данных.</dd>
<dt>{{domxref("WindowOrWorkerGlobalScope.clearInterval()")}}</dt>
<dd>Отменяет набор для повторного выполнения, используя {{domxref("WindowOrWorkerGlobalScope.setInterval()")}}.</dd>
<dt>{{domxref("WindowOrWorkerGlobalScope.clearTimeout()")}}</dt>
diff --git a/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html b/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html
index aa4ba76d3a..c77c422bf1 100644
--- a/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/setInterval
---
<div>{{APIRef("HTML DOM")}}</div>
-<p><span class="seoSummary">Метод <strong><code>setInterval()</code></strong> предложен для {{domxref("Window")}} и {{domxref("Worker")}} интерфейсов. Он циклически вызывает функцию или участок кода с фиксированной паузой между каждым вызовом.</span> Уникальный идентификатор intervalID, возвращаемый методом, позволяет впоследствии удалить запущенный <span class="seoSummary"><strong><code>setInterval</code></strong></span> c помощью {{domxref("WindowOrWorkerGlobalScope.clearInterval", "clearInterval()")}}. Метод определен с помощью миксина {{domxref("WindowOrWorkerGlobalScope")}}.</p>
+<p><span class="seoSummary">Метод <strong><code>setInterval()</code></strong> предложен для {{domxref("Window")}} и {{domxref("Worker")}} интерфейсов. Он циклически вызывает функцию или участок кода с фиксированной паузой между каждым вызовом.</span> Уникальный идентификатор intervalID, возвращаемый методом, позволяет впоследствии удалить запущенный <span class="seoSummary"><strong><code>setInterval</code></strong></span> c помощью {{domxref("WindowOrWorkerGlobalScope.clearInterval", "clearInterval()")}}. Метод определён с помощью миксина {{domxref("WindowOrWorkerGlobalScope")}}.</p>
<h2 id="Синтаксис">Синтаксис</h2>
diff --git a/files/ru/web/api/windoworworkerglobalscope/settimeout/index.html b/files/ru/web/api/windoworworkerglobalscope/settimeout/index.html
index 8c115986b0..cd1851db1e 100644
--- a/files/ru/web/api/windoworworkerglobalscope/settimeout/index.html
+++ b/files/ru/web/api/windoworworkerglobalscope/settimeout/index.html
@@ -31,7 +31,7 @@ original_slug: Web/API/WindowTimers/setTimeout
<h2 id="Example" name="Example">Пример</h2>
-<p>В следующем примере на веб странице создаются две простые кнопки, к которым привязываются действия setTimeout и clearTimeout. Нажатие на первую кнопку установит таймаут, который вызовет диалоговое окно через две секунды. Также будет сохранен id для clearTimeout. Таймаут также может быть отменен по нажатию на вторую кнопку.</p>
+<p>В следующем примере на веб странице создаются две простые кнопки, к которым привязываются действия setTimeout и clearTimeout. Нажатие на первую кнопку установит таймаут, который вызовет диалоговое окно через две секунды. Также будет сохранён id для clearTimeout. Таймаут также может быть отменён по нажатию на вторую кнопку.</p>
<h3 id="HTML_Content">HTML Content</h3>
@@ -143,7 +143,7 @@ var a=[].slice.call(arguments,2);return f(function(){c.apply(this,a)},t)}
<h2 id="Проблема_с_this">Проблема с "<code>this</code>"</h2>
-<p>Когда вы передаете метод в <code>setTimeout()</code> (или в любую другую функцию, если на то пошло), то вызов будет осуществлен с неправильным значением <code>this</code>. Эта проблема разъясняется детально в <a href="/en-US/docs/JavaScript/Reference/Operators/this#Method_binding" title="en-US/docs/Core_JavaScript_1.5_Reference/Operators/Special_Operators/this_Operator#Method_binding">JavaScript reference</a>.</p>
+<p>Когда вы передаёте метод в <code>setTimeout()</code> (или в любую другую функцию, если на то пошло), то вызов будет осуществлён с неправильным значением <code>this</code>. Эта проблема разъясняется детально в <a href="/en-US/docs/JavaScript/Reference/Operators/this#Method_binding" title="en-US/docs/Core_JavaScript_1.5_Reference/Operators/Special_Operators/this_Operator#Method_binding">JavaScript reference</a>.</p>
<h3 id="Объяснение">Объяснение</h3>
diff --git a/files/ru/web/api/worker/onmessage/index.html b/files/ru/web/api/worker/onmessage/index.html
index 86db26c45f..c51c30e041 100644
--- a/files/ru/web/api/worker/onmessage/index.html
+++ b/files/ru/web/api/worker/onmessage/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/Worker/onmessage
---
<p>{{APIRef("Web Workers API")}}</p>
-<p>Свойство <strong><code>onmessage</code></strong>  интерфейса {{domxref("Worker")}} представляет собой обработчик {{domxref("EventHandler")}}, который будет вызван когда произойдет событие {{event("message")}}. Тип этого события {{domxref("MessageEvent")}} и оно будет вызвано когда worker-объект получит сообщение из выполняемого им кода (т.е из метода {{domxref("DedicatedWorkerGlobalScope.postMessage")}} .</p>
+<p>Свойство <strong><code>onmessage</code></strong>  интерфейса {{domxref("Worker")}} представляет собой обработчик {{domxref("EventHandler")}}, который будет вызван когда произойдёт событие {{event("message")}}. Тип этого события {{domxref("MessageEvent")}} и оно будет вызвано когда worker-объект получит сообщение из выполняемого им кода (т.е из метода {{domxref("DedicatedWorkerGlobalScope.postMessage")}} .</p>
<div class="note">
<p><span style="font-size: 14px; line-height: 21px;"><strong>Примечание</strong></span>: Данные события доступны в свойстве data события {{event("message")}}.</p>
diff --git a/files/ru/web/api/worker/postmessage/index.html b/files/ru/web/api/worker/postmessage/index.html
index 47ea7ce99f..6523a0cb64 100644
--- a/files/ru/web/api/worker/postmessage/index.html
+++ b/files/ru/web/api/worker/postmessage/index.html
@@ -27,7 +27,7 @@ translation_of: Web/API/Worker/postMessage
<dt><em>message</em></dt>
<dd><code>Object</code> передаваемый в <code>worker</code>. Будет содержаться в поле <code>data</code> описания события обработчика {{domxref("DedicatedWorkerGlobalScope.onmessage")}}. Это может быть любое значение или объект JavaScript, которые может обработать алгоритм структурированного клонирования, поддерживающий циклические ссылки.</dd>
<dt><em>transfer</em> {{optional_inline}}</dt>
- <dd>Необязательный <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array">array</a></code> с передаваемыми ({{domxref("Transferable")}}) объектами (из тех, что были указаны в <code>message</code>) на которые передаются права собственности. Если право на объект передается, он становится непригодным (<em>neutered</em>) в контексте, из которого был отправлен, и становится доступным только в <code>worker</code>, которому он был отправлен.</dd>
+ <dd>Необязательный <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array">array</a></code> с передаваемыми ({{domxref("Transferable")}}) объектами (из тех, что были указаны в <code>message</code>) на которые передаются права собственности. Если право на объект передаётся, он становится непригодным (<em>neutered</em>) в контексте, из которого был отправлен, и становится доступным только в <code>worker</code>, которому он был отправлен.</dd>
<dd>Переданные (<code>transferable</code>) объекты могут быть экземплярами классов {{domxref("ArrayBuffer")}}, {{domxref("MessagePort")}} или {{domxref("ImageBitmap")}}. null не является допустимым значением для передачи прав.</dd>
</dl>
@@ -60,7 +60,7 @@ second.onchange = function() {
<h3 id="Пример_с_Transfer">Пример с Transfer</h3>
-<p>В этом примере показано дополнение Firefox, которое передает <code>ArrayBuffer</code> из основного потока в <code>ChromeWorker</code>, а затем <code>ChromeWorker</code> передает его обратно в основной поток.</p>
+<p>В этом примере показано дополнение Firefox, которое передаёт <code>ArrayBuffer</code> из основного потока в <code>ChromeWorker</code>, а затем <code>ChromeWorker</code> передаёт его обратно в основной поток.</p>
<h4 id="Код_основного_потока">Код основного потока:</h4>
@@ -86,7 +86,7 @@ console.info('arrBuf.byteLength, ДО передачи:', arrBuf.byteLength);
myWorker.postMessage(
    {
        aTopic: 'do_sendWorkerArrBuff',
-        aBuf: arrBuf // буфер который передается 3 строками ниже
+        aBuf: arrBuf // буфер который передаётся 3 строками ниже
    },
    [
        arrBuf // буфер созданный на строке 9
@@ -150,7 +150,7 @@ arrBuf.byteLength, ПОСЛЕ передачи: 0 boo
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
<p>{{Compat("api.Worker.postMessage")}}</p>
diff --git a/files/ru/web/api/worker/terminate/index.html b/files/ru/web/api/worker/terminate/index.html
index 68c93a7b08..21682c32ce 100644
--- a/files/ru/web/api/worker/terminate/index.html
+++ b/files/ru/web/api/worker/terminate/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/Worker/terminate
---
<p>{{APIRef("Web Workers API")}}</p>
-<p>Метод <code><strong>terminate()</strong></code> интерфейса {{domxref("Worker")}} немедленно завершает работу <code>worker</code>. Работнику не дается возможность завершить свою работу, он останавливается сразу.</p>
+<p>Метод <code><strong>terminate()</strong></code> интерфейса {{domxref("Worker")}} немедленно завершает работу <code>worker</code>. Работнику не даётся возможность завершить свою работу, он останавливается сразу.</p>
<h2 id="Синтаксис">Синтаксис</h2>
@@ -55,7 +55,7 @@ myWorker.terminate();
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
+<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div>
<p>{{Compat("api.Worker.terminate")}}</p>
diff --git a/files/ru/web/api/worker/worker/index.html b/files/ru/web/api/worker/worker/index.html
index 625841b703..0c7a6fcbe2 100644
--- a/files/ru/web/api/worker/worker/index.html
+++ b/files/ru/web/api/worker/worker/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/Worker/Worker
---
<p>{{APIRef("Web Workers API")}}</p>
-<p>Конструктор <code><strong>Worker()</strong></code> создает объект {{domxref ("Worker")}}, который выполняет скрипт по указанному URL-адресу. Этот скрипт должен подчиняться политике одного источника (<a href="/en/Same_origin_policy_for_JavaScript" title="Same origin policy for JavaScript">same-origin policy</a>).</p>
+<p>Конструктор <code><strong>Worker()</strong></code> создаёт объект {{domxref ("Worker")}}, который выполняет скрипт по указанному URL-адресу. Этот скрипт должен подчиняться политике одного источника (<a href="/en/Same_origin_policy_for_JavaScript" title="Same origin policy for JavaScript">same-origin policy</a>).</p>
<p>Если URL имеет недопустимый синтаксис или нарушена политика одного источника, то будет вызвано {{domxref("DOMException")}} типа <code>SECURITY_ERR</code>.</p>
diff --git a/files/ru/web/api/workerglobalscope/importscripts/index.html b/files/ru/web/api/workerglobalscope/importscripts/index.html
index ef51b14243..bb59c304c6 100644
--- a/files/ru/web/api/workerglobalscope/importscripts/index.html
+++ b/files/ru/web/api/workerglobalscope/importscripts/index.html
@@ -14,7 +14,7 @@ self.importScripts('foo.js', 'bar.js', ...);</pre>
<h3 id="Параметры">Параметры</h3>
-<p><span class="tlid-translation translation" lang="ru"><span title="">Разделенный запятыми объект </span></span>{{domxref("DOMString")}} скриптов, которые должны быть импортированы. Пути к скриптам указываются относительно URL HTML документа.</p>
+<p><span class="tlid-translation translation" lang="ru"><span title="">Разделённый запятыми объект </span></span>{{domxref("DOMString")}} скриптов, которые должны быть импортированы. Пути к скриптам указываются относительно URL HTML документа.</p>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
@@ -39,7 +39,7 @@ self.importScripts('foo.js', 'bar.js', ...);</pre>
<h2 id="Пример">Пример</h2>
-<p>Если вы хотите использовать некоторую функциональность, определенную файлом <code>foo.js</code>, необходимо сделать следующее:</p>
+<p>Если вы хотите использовать некоторую функциональность, определённую файлом <code>foo.js</code>, необходимо сделать следующее:</p>
<pre class="brush: js notranslate">importScripts('foo.js');</pre>
diff --git a/files/ru/web/api/xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/index.html
index 8ad7841fec..ad4b1b2090 100644
--- a/files/ru/web/api/xmlhttprequest/index.html
+++ b/files/ru/web/api/xmlhttprequest/index.html
@@ -19,7 +19,7 @@ translation_of: Web/API/XMLHttpRequest
<p><code>XMLHttpRequest</code> это API, который предоставляет клиенту функциональность для обмена данными между клиентом и сервером. Данный API предоставляет простой способ получения данных по ссылке без перезагрузки страницы. Это позволяет обновлять только часть веб-страницы не прерывая пользователя.  <code>XMLHttpRequest используется в AJAX запросах и особенно в single-page приложениях.</code></p>
-<p>XMLHttpRequest изначально был разработан Microsoft и позже заимствован Mozilla, Apple, и Google. Сейчас он <a href="https://xhr.spec.whatwg.org/">стандартизирован WHATWG</a>. Несмотря на свое название, <code>XMLHttpRequest</code> может быть использован для получения любых типов данных, не только XML, и поддерживает протоколы помимо <a href="https://developer.mozilla.org/ru/docs/Web/HTTP">HTTP</a> (включая <code>file</code> и <a href="https://developer.mozilla.org/ru/docs/Словарь/FTP">ftp</a>).</p>
+<p>XMLHttpRequest изначально был разработан Microsoft и позже заимствован Mozilla, Apple, и Google. Сейчас он <a href="https://xhr.spec.whatwg.org/">стандартизирован WHATWG</a>. Несмотря на своё название, <code>XMLHttpRequest</code> может быть использован для получения любых типов данных, не только XML, и поддерживает протоколы помимо <a href="https://developer.mozilla.org/ru/docs/Web/HTTP">HTTP</a> (включая <code>file</code> и <a href="https://developer.mozilla.org/ru/docs/Словарь/FTP">ftp</a>).</p>
<p>Чтобы начать работать с <code>XMLHttpRequest</code>, выполните этот код:</p>
@@ -92,7 +92,7 @@ translation_of: Web/API/XMLHttpRequest
</td>
<td><code>Function?</code></td>
<td>
- <p>Callback - функция, которая вызывается всякий раз, когда поле <code>readyState меняет свое значение</code>. Callback выполняется в потоке работы приложения.</p>
+ <p>Callback - функция, которая вызывается всякий раз, когда поле <code>readyState меняет своё значение</code>. Callback выполняется в потоке работы приложения.</p>
<div class="warning"><strong>Внимание:</strong> Он не должен использоваться в синхронных запросах, и не должен выполняться из нативного кода (? must not be used from native code).</div>
</td>
@@ -113,7 +113,7 @@ translation_of: Web/API/XMLHttpRequest
<tr>
<td><code>0</code></td>
<td><code>UNSENT</code></td>
- <td>Клиент создан. Метод <code>open()</code> еще не вызван.</td>
+ <td>Клиент создан. Метод <code>open()</code> ещё не вызван.</td>
</tr>
<tr>
<td><code>1</code></td>
@@ -143,13 +143,13 @@ translation_of: Web/API/XMLHttpRequest
<td><code>response</code></td>
<td>varies</td>
<td>
- <p>Тело сущности запроса. Согласно полю <code><a href="#responseType">responseType</a></code>, может быть <a href="/en/JavaScript_typed_arrays/ArrayBuffer" title="en/JavaScript typed arrays/ArrayBuffer"><code>ArrayBuffer</code></a>, <a href="/en/DOM/Blob" title="en/DOM/Blob"><code>Blob</code></a>, {{ domxref("Document") }}, JavaScript объектом (для "json"), или строкой. Равно <code>null</code> если запрос не завершен или окончен с ошибкой.</p>
+ <p>Тело сущности запроса. Согласно полю <code><a href="#responseType">responseType</a></code>, может быть <a href="/en/JavaScript_typed_arrays/ArrayBuffer" title="en/JavaScript typed arrays/ArrayBuffer"><code>ArrayBuffer</code></a>, <a href="/en/DOM/Blob" title="en/DOM/Blob"><code>Blob</code></a>, {{ domxref("Document") }}, JavaScript объектом (для "json"), или строкой. Равно <code>null</code> если запрос не завершён или окончен с ошибкой.</p>
</td>
</tr>
<tr id="responseText">
<td><code>responseText</code> {{ReadOnlyInline()}}</td>
<td><code>DOMString</code></td>
- <td>Ответ на запрос в виде строки или <code>null</code> в случае если запрос не успешен или ответ еще не получен.</td>
+ <td>Ответ на запрос в виде строки или <code>null</code> в случае если запрос не успешен или ответ ещё не получен.</td>
</tr>
<tr id="responseType">
<td><code>responseType</code></td>
@@ -181,7 +181,7 @@ translation_of: Web/API/XMLHttpRequest
</tr>
<tr>
<td><code>"json"</code></td>
- <td>JavaScript объект, полученный путем парсинга JSON строки, полученной с сервера.</td>
+ <td>JavaScript объект, полученный путём парсинга JSON строки, полученной с сервера.</td>
</tr>
<tr>
<td><code>"text"</code></td>
@@ -240,7 +240,7 @@ translation_of: Web/API/XMLHttpRequest
<td><code>timeout</code></td>
<td><code>unsigned long</code></td>
<td>
- <p>Время в миллисекундах, после которого запрос будет отменен. Значение 0 (по умолчанию) значит что таймаута не будет. Никогда.</p>
+ <p>Время в миллисекундах, после которого запрос будет отменён. Значение 0 (по умолчанию) значит что таймаута не будет. Никогда.</p>
<div class="note"><strong>Примечание:</strong> Вы можете не использовать поле timeout для синхронных запросов из owning window.</div>
</td>
@@ -339,9 +339,9 @@ translation_of: Web/API/XMLHttpRequest
<h3 id="XMLHttpRequest()" name="XMLHttpRequest()">XMLHttpRequest()</h3>
-<p>Конструктор создает объект XMLHttpRequest. Он должен быть вызван перед обращением к любому методу класса.</p>
+<p>Конструктор создаёт объект XMLHttpRequest. Он должен быть вызван перед обращением к любому методу класса.</p>
-<p>Gecko/Firefox 16 добавляет нестандартные параметры в конструктор, для лучшего взаимодействия с режимом инкогнито, (смотри <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=692677" title="692677 – Relax same-origin XHR restrictions for privileged applications">Bug 692677</a>). Установка флага <code>mozAnon</code> в значение <code>true</code> создает сущность <a href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#dom-anonxmlhttprequest" title="see AnonXMLHttpRequest in the XMLHttpRequest specification"><code>AnonXMLHttpRequest()</code></a> описанную в XMLHttpRequest спецификации, но не реализованную не в одном из браузеров (информация сентября 2012).</p>
+<p>Gecko/Firefox 16 добавляет нестандартные параметры в конструктор, для лучшего взаимодействия с режимом инкогнито, (смотри <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=692677" title="692677 – Relax same-origin XHR restrictions for privileged applications">Bug 692677</a>). Установка флага <code>mozAnon</code> в значение <code>true</code> создаёт сущность <a href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#dom-anonxmlhttprequest" title="see AnonXMLHttpRequest in the XMLHttpRequest specification"><code>AnonXMLHttpRequest()</code></a> описанную в XMLHttpRequest спецификации, но не реализованную не в одном из браузеров (информация сентября 2012).</p>
<pre>XMLHttpRequest (
JSObject objParameters
@@ -354,7 +354,7 @@ translation_of: Web/API/XMLHttpRequest
<dd>Вы можете использовать два флага:
<dl>
<dt><code>mozAnon</code></dt>
- <dd>Boolean: Использование этого флага уберет из запроса заголовки origin, и <a href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#user-credentials" title="Defintion of “User credentials” in the XMLHttpRequest specification.">user credentials</a>. Кроме этого, куки не будут отправлены в запросе, если только они не будут добавлены к запросу специально, через метод setRequestHeader.</dd>
+ <dd>Boolean: Использование этого флага уберёт из запроса заголовки origin, и <a href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#user-credentials" title="Defintion of “User credentials” in the XMLHttpRequest specification.">user credentials</a>. Кроме этого, куки не будут отправлены в запросе, если только они не будут добавлены к запросу специально, через метод setRequestHeader.</dd>
<dt><code>mozSystem</code></dt>
<dd>Boolean: Если выставить этот флаг в значение <code>true</code> то это позволит делать cross-доменные запросы без необходимости получения специальных заголовков со стороны сервера (CORS). Для использования этого флага необходимо использовать дополнительный флаг<em> <code>mozAnon: true</code>, поскольку для отправки запроса на другой домен, нельзя использовать куки и креды пользователя. Этот флаг <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=692677#c68" title="Bug 692677 comment 68">работает только с привилегированными (одобренными) приложениями</a>; он не сработает с произвольно загруженными страницами.</em></dd>
</dl>
@@ -380,7 +380,7 @@ translation_of: Web/API/XMLHttpRequest
<p>Возвращает значение указанного заголовка из полученного ответа, или <code>null</code> в случает если ответ не получен, или такого заголовка в ответе нет. Возвращаемая строка имеет кодировку UTF.</p>
<div class="note">
-<p><code><strong>Примечание: </strong>Если в ответе есть заголовки с одни названием, то значения этих заголовков будут объеденены в одну строку, разделенную запятой и пробелом.</code></p>
+<p><code><strong>Примечание: </strong>Если в ответе есть заголовки с одни названием, то значения этих заголовков будут объеденены в одну строку, разделённую запятой и пробелом.</code></p>
</div>
<h3 id="open()" name="open()">open()</h3>
@@ -406,7 +406,7 @@ translation_of: Web/API/XMLHttpRequest
<dt><code>url</code></dt>
<dd>URL адрес, на который будет отправлено сообщение.</dd>
<dt><code>async</code></dt>
- <dd>Необязательный boolean параметр, по умолчанию равный <code>true. Определяет, будет ли запрос отправлен асинхронно. Если значение равно</code> <code>false</code>, метод <code>send() вернет ответ в общем потоке работы приложения (иначе говоря, приложение зависнет на некоторое время), в противном случае, ответ может быть получен только при помощи определенных </code> обработчиков событий. В случае, если используется отправка <code>multipart</code> запроса, то этот атрибут <strong>должен </strong>быть <code>true</code>, или будет выброшено исключение.
+ <dd>Необязательный boolean параметр, по умолчанию равный <code>true. Определяет, будет ли запрос отправлен асинхронно. Если значение равно</code> <code>false</code>, метод <code>send() вернёт ответ в общем потоке работы приложения (иначе говоря, приложение зависнет на некоторое время), в противном случае, ответ может быть получен только при помощи определённых </code> обработчиков событий. В случае, если используется отправка <code>multipart</code> запроса, то этот атрибут <strong>должен </strong>быть <code>true</code>, или будет выброшено исключение.
<div class="note"><strong>Примечание:</strong> Начиная с Gecko 30.0 {{ geckoRelease("30.0") }}, синхронные запросы объявлены как deprecated, в силу того что все пользователи недовольны тем, что приложение "зависает".</div>
</dd>
<dt><code>user</code></dt>
@@ -423,13 +423,13 @@ translation_of: Web/API/XMLHttpRequest
<h3 id="send()" name="send()">send()</h3>
-<p>Отправляет запрос. Если запрос асинхронный (а по умолчанию это так), этот метод вернет значение сразу после того как метод вызван.</p>
+<p>Отправляет запрос. Если запрос асинхронный (а по умолчанию это так), этот метод вернёт значение сразу после того как метод вызван.</p>
<div class="note">
-<p><strong>Примечание переводчика: </strong>в этом случае, в ответе не будет содержаться информации, которая пришла с сервера, поскольку она еще не пришла. Для того чтобы получить эту информацию, нужно слушать события загрузки, или использовать promise.</p>
+<p><strong>Примечание переводчика: </strong>в этом случае, в ответе не будет содержаться информации, которая пришла с сервера, поскольку она ещё не пришла. Для того чтобы получить эту информацию, нужно слушать события загрузки, или использовать promise.</p>
</div>
-<p>Если запрос синхронный, то метод вернет значение только после того, как придет запрос от сервера.</p>
+<p>Если запрос синхронный, то метод вернёт значение только после того, как придёт запрос от сервера.</p>
<div class="note"><strong>Примечание:</strong> все необходимые обработчики событий должны быть установлены перед вызовом <code>send()</code>.</div>
@@ -510,7 +510,7 @@ void send(FormData <var>data</var>);</pre>
<p>Вариант метода <code>send()</code> который посылает бинарные данные.</p>
-<div class="note"><strong>Примечание:</strong> Этот нестандартный метод считается устарелым по состоянию на Gecko 31 {{ geckoRelease(31) }}, и со временем будет удален. Взамен может использоваться стандарт метода <code>send(Blob data).</code> </div>
+<div class="note"><strong>Примечание:</strong> Этот нестандартный метод считается устарелым по состоянию на Gecko 31 {{ geckoRelease(31) }}, и со временем будет удалён. Взамен может использоваться стандарт метода <code>send(Blob data).</code> </div>
<pre>void sendAsBinary(
in DOMString body
diff --git a/files/ru/web/api/xmlhttprequest/response/index.html b/files/ru/web/api/xmlhttprequest/response/index.html
index 383596f34d..7c07373f4f 100644
--- a/files/ru/web/api/xmlhttprequest/response/index.html
+++ b/files/ru/web/api/xmlhttprequest/response/index.html
@@ -20,9 +20,9 @@ translation_of: Web/API/XMLHttpRequest/response
<p> </p>
-<p>Соответствующий объект, основанный на значении <code>responseType</code>. Вы можете попытаться запросить данные в определенном формате, установив значение <code>responseType</code> после вызова <code>open()</code> для инициализации запроса, но перед вызовом <code>send()</code> для отправки запроса на сервер.</p>
+<p>Соответствующий объект, основанный на значении <code>responseType</code>. Вы можете попытаться запросить данные в определённом формате, установив значение <code>responseType</code> после вызова <code>open()</code> для инициализации запроса, но перед вызовом <code>send()</code> для отправки запроса на сервер.</p>
-<p>Значение равно <code>null</code>, если запрос еще не завершен или был неудачным, за исключением того, что при чтении текстовых данных с использованием <code>responseType "text"</code> или пустой строки (<code>""</code>), ответ может содержать ответ до тех пор, пока запрос все еще находится в состоянии <code>LOADING readyState (3)</code>.</p>
+<p>Значение равно <code>null</code>, если запрос ещё не завершён или был неудачным, за исключением того, что при чтении текстовых данных с использованием <code>responseType "text"</code> или пустой строки (<code>""</code>), ответ может содержать ответ до тех пор, пока запрос все ещё находится в состоянии <code>LOADING readyState (3)</code>.</p>
<p>Типы ответов описаны ниже.</p>
@@ -58,7 +58,7 @@ translation_of: Web/API/XMLHttpRequest/response
</tr>
<tr>
<td><code>"json"</code></td>
- <td><code>response</code> является JavaScript object, созданный путем анализа содержимого полученных данных как <a href="https://developer.mozilla.org/en-US/docs/Glossary/JSON" title="JSON: JavaScript Object Notation (JSON) is a data-interchange format.  Although not a strict subset, JSON closely resembles a subset of JavaScript syntax. Though many programming languages support JSON, JSON is especially useful for JavaScript-based apps, including websites and browser extensions.">JSON</a>.</td>
+ <td><code>response</code> является JavaScript object, созданный путём анализа содержимого полученных данных как <a href="https://developer.mozilla.org/en-US/docs/Glossary/JSON" title="JSON: JavaScript Object Notation (JSON) is a data-interchange format.  Although not a strict subset, JSON closely resembles a subset of JavaScript syntax. Though many programming languages support JSON, JSON is especially useful for JavaScript-based apps, including websites and browser extensions.">JSON</a>.</td>
</tr>
<tr>
<td><code>"text"</code></td>
@@ -78,7 +78,7 @@ translation_of: Web/API/XMLHttpRequest/response
</tr>
<tr>
<td><code>"ms-stream"</code> </td>
- <td><code>response</code> является частью потоковой загрузки; этот тип ответа разрешен только для запросов на загрузку и поддерживается только Internet Explorer.</td>
+ <td><code>response</code> является частью потоковой загрузки; этот тип ответа разрешён только для запросов на загрузку и поддерживается только Internet Explorer.</td>
</tr>
</tbody>
</table>
@@ -89,7 +89,7 @@ translation_of: Web/API/XMLHttpRequest/response
<p> </p>
-<p>В этом примере представлена функция <code>load()</code>, которая загружает и обрабатывает страницу с сервера. Он работает путем создания объекта <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest" title="Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing."><code>XMLHttpRequest</code></a> и создания обработчика события с событием <code>readystatechange</code>, чтобы при изменении <code>readyState </code>на <code>DONE (4)</code> <code>response</code> получался и передавался в колбэк-функцию, предоставляемую <code>load()</code>.</p>
+<p>В этом примере представлена функция <code>load()</code>, которая загружает и обрабатывает страницу с сервера. Он работает путём создания объекта <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest" title="Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing."><code>XMLHttpRequest</code></a> и создания обработчика события с событием <code>readystatechange</code>, чтобы при изменении <code>readyState </code>на <code>DONE (4)</code> <code>response</code> получался и передавался в колбэк-функцию, предоставляемую <code>load()</code>.</p>
<p>Содержимое обрабатывается как необработанные текстовые данные (поскольку здесь ничто не переопределяет <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType" title="The XMLHttpRequest property responseType is an enumerated string value specifying the type of data contained in the response."><code>responseType</code></a> по умолчанию).</p>
diff --git a/files/ru/web/api/xmlhttprequest/responsetext/index.html b/files/ru/web/api/xmlhttprequest/responsetext/index.html
index 67421dc290..d80a4572c0 100644
--- a/files/ru/web/api/xmlhttprequest/responsetext/index.html
+++ b/files/ru/web/api/xmlhttprequest/responsetext/index.html
@@ -15,9 +15,9 @@ translation_of: Web/API/XMLHttpRequest/responseText
<h3 id="Значение">Значение</h3>
-<p>Строка {{domxref("DOMString")}} содержащая либо <code>текстовые данные, </code>полученные при использовании <code>XMLHttpRequest, либо</code> <code>null</code> в случае, когда вопрос возвратил ошибку, или же еще не был  отослан на сервер вызовом функции {{domxref("XMLHttpRequest.send", "send()")}}.</p>
+<p>Строка {{domxref("DOMString")}} содержащая либо <code>текстовые данные, </code>полученные при использовании <code>XMLHttpRequest, либо</code> <code>null</code> в случае, когда вопрос возвратил ошибку, или же ещё не был  отослан на сервер вызовом функции {{domxref("XMLHttpRequest.send", "send()")}}.</p>
-<p>Во время выполнения асинхронных запросов, в значении <code>responseText</code> всегда находится текущее содержимое, полученное от сервера, даже если запрос еще не завершен, и данные от сервера не получены полностью.</p>
+<p>Во время выполнения асинхронных запросов, в значении <code>responseText</code> всегда находится текущее содержимое, полученное от сервера, даже если запрос ещё не завершён, и данные от сервера не получены полностью.</p>
<p>Понять, что ответ получен полностью, можно когда значение {{domxref("XMLHttpRequest.readyState", "readyState")}} становится {{domxref("XMLHttpRequest.DONE", "XMLHttpRequest.DONE")}} (<code>4</code>), а значение {{domxref("XMLHttpRequest.status", "status")}} становится 200 (<code>"OK"</code>).</p>
diff --git a/files/ru/web/api/xmlhttprequest/responsetype/index.html b/files/ru/web/api/xmlhttprequest/responsetype/index.html
index 91e38522bf..80d5b3bf9f 100644
--- a/files/ru/web/api/xmlhttprequest/responsetype/index.html
+++ b/files/ru/web/api/xmlhttprequest/responsetype/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/XMLHttpRequest/responseType
---
<p>{{APIRef('XMLHttpRequest')}}</p>
-<p><strong><code>XMLHttpRequest.responseType</code></strong> <font><font>Свойство является перечислимым значением, </font><font>которое возвращает тип ответа. </font><font>Он также позволяет автору изменять тип ответа. Если значение не задано, будет использовано значение по умолчанию <strong><code>text</code></strong></font></font><font><font>. </font></font><font><font>Установка значения responseType в «document» игнорируется, если выполняется в  </font></font><a href="https://developer.mozilla.org/en-US/docs/Web/API/Worker"><font><font>рабочей</font></font></a><font><font> среде. </font><font>При настройке </font></font><code>responseType</code><font><font> на определенное значение автор должен убедиться, что сервер действительно отправляет ответ, совместимый с этим форматом. Если сервер возвращает данные, которые не совместимы с установленным </font></font><code>responseType</code><font><font>, значение </font></font><code>response</code> <font><font>будет </font></font><code>null</code><font><font>. </font><font>Кроме того, установка </font></font><code>responseType</code> <font><font>для синхронных запросов вызовет исключение </font></font><code>InvalidAccessError</code><font><font>.</font></font></p>
+<p><strong><code>XMLHttpRequest.responseType</code></strong> <font><font>Свойство является перечислимым значением, </font><font>которое возвращает тип ответа. </font><font>Он также позволяет автору изменять тип ответа. Если значение не задано, будет использовано значение по умолчанию <strong><code>text</code></strong></font></font><font><font>. </font></font><font><font>Установка значения responseType в «document» игнорируется, если выполняется в  </font></font><a href="https://developer.mozilla.org/en-US/docs/Web/API/Worker"><font><font>рабочей</font></font></a><font><font> среде. </font><font>При настройке </font></font><code>responseType</code><font><font> на определённое значение автор должен убедиться, что сервер действительно отправляет ответ, совместимый с этим форматом. Если сервер возвращает данные, которые не совместимы с установленным </font></font><code>responseType</code><font><font>, значение </font></font><code>response</code> <font><font>будет </font></font><code>null</code><font><font>. </font><font>Кроме того, установка </font></font><code>responseType</code> <font><font>для синхронных запросов вызовет исключение </font></font><code>InvalidAccessError</code><font><font>.</font></font></p>
<p><font><font>Поддерживаемые значения </font></font><code>responseType</code><font><font>:</font></font></p>
diff --git a/files/ru/web/api/xmlhttprequest/responseurl/index.html b/files/ru/web/api/xmlhttprequest/responseurl/index.html
index ed61b3451b..635d27ddc1 100644
--- a/files/ru/web/api/xmlhttprequest/responseurl/index.html
+++ b/files/ru/web/api/xmlhttprequest/responseurl/index.html
@@ -5,7 +5,7 @@ translation_of: Web/API/XMLHttpRequest/responseURL
---
<div>{{APIRef('XMLHttpRequest')}}</div>
-<p>Свойство <code><strong>XMLHttpRequest.responseURL</strong></code> доступно только для чтения, возвращает сериализованный URL ответа или пустую строку,  если URL равен <code>null</code>. Если URL возвращен, любой URL фрагмент в URL будет стерт. Значение <code>responseURL</code> станет окончательным URL, получаемым после любых редиректов.</p>
+<p>Свойство <code><strong>XMLHttpRequest.responseURL</strong></code> доступно только для чтения, возвращает сериализованный URL ответа или пустую строку,  если URL равен <code>null</code>. Если URL возвращён, любой URL фрагмент в URL будет стёрт. Значение <code>responseURL</code> станет окончательным URL, получаемым после любых редиректов.</p>
<h2 id="Пример">Пример</h2>
diff --git a/files/ru/web/api/xmlhttprequest/send/index.html b/files/ru/web/api/xmlhttprequest/send/index.html
index a7c82474a7..34736d0716 100644
--- a/files/ru/web/api/xmlhttprequest/send/index.html
+++ b/files/ru/web/api/xmlhttprequest/send/index.html
@@ -78,7 +78,7 @@ translation_of: Web/API/XMLHttpRequest/send
xhr.open('GET', '/server', true);
xhr.onload = function () {
- // Запрос завершен. Здесь можно обрабатывать результат.
+ // Запрос завершён. Здесь можно обрабатывать результат.
};
xhr.send(null);
@@ -94,12 +94,12 @@ xhr.send(null);
<pre><code>var xhr = new XMLHttpRequest();
xhr.open("POST", '/server', true);
-//Передает правильный заголовок в запросе
+//Передаёт правильный заголовок в запросе
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {//Вызывает функцию при смене состояния.
if(xhr.readyState == XMLHttpRequest.DONE &amp;&amp; xhr.status == 200) {
- // Запрос завершен. Здесь можно обрабатывать результат.
+ // Запрос завершён. Здесь можно обрабатывать результат.
}
}
xhr.send("foo=bar&amp;lorem=ipsum");
diff --git a/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html b/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html
index 527dfe1f5a..454bc054db 100644
--- a/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html
+++ b/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html
@@ -5,9 +5,9 @@ translation_of: Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data
---
<h2 id="Receiving_binary_data_using_JavaScript_typed_arrays" name="Receiving_binary_data_using_JavaScript_typed_arrays">Получение бинарных данных используя JavaScript arrays </h2>
-<p>Свойство responseType объекта XMLHttpRequest можно задать для изменения ожидаемого типа ответа с сервера. Возможные значения: пустая строка (по умолчанию), "arraybuffer", "blob", "document", "json" и "text". Свойство response будет содержать тело сущности в соответствии с типом ответа, как ArrayBuffer, Blob, Document, JSON или string. Это значение равно null, если запрос не завершен или не был успешным.</p>
+<p>Свойство responseType объекта XMLHttpRequest можно задать для изменения ожидаемого типа ответа с сервера. Возможные значения: пустая строка (по умолчанию), "arraybuffer", "blob", "document", "json" и "text". Свойство response будет содержать тело сущности в соответствии с типом ответа, как ArrayBuffer, Blob, Document, JSON или string. Это значение равно null, если запрос не завершён или не был успешным.</p>
-<p>В этом примере изображение считывается как двоичный файл и создается 8-разрядный массив целых чисел без знака из необработанных байтов. Обратите внимание, что это не будет декодировать изображение и читать пиксели. Для этого вам понадобится <a href="https://github.com/devongovett/png.js/">библиотека декодирования png</a>.</p>
+<p>В этом примере изображение считывается как двоичный файл и создаётся 8-разрядный массив целых чисел без знака из необработанных байтов. Обратите внимание, что это не будет декодировать изображение и читать пиксели. Для этого вам понадобится <a href="https://github.com/devongovett/png.js/">библиотека декодирования png</a>.</p>
<pre class="brush: js notranslate">var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
@@ -90,9 +90,9 @@ var abyte = filestream.charCodeAt(x) &amp; 0xff; // throw away high-order byte (
<h2 id="Sending_binary_data" name="Sending_binary_data">Отправка бинарных данных</h2>
-<p>Метод <code>send</code> объекта XMLHttpRequest был расширен, чтобы обеспечить легкую передачу бинарных данных - теперь он принимает объекты <a href="/en-US/docs/JavaScript_typed_arrays/ArrayBuffer" title="ArrayBuffer"><code>ArrayBuffer</code></a>, {{domxref("Blob")}}, или {{domxref("File")}}.</p>
+<p>Метод <code>send</code> объекта XMLHttpRequest был расширен, чтобы обеспечить лёгкую передачу бинарных данных - теперь он принимает объекты <a href="/en-US/docs/JavaScript_typed_arrays/ArrayBuffer" title="ArrayBuffer"><code>ArrayBuffer</code></a>, {{domxref("Blob")}}, или {{domxref("File")}}.</p>
-<p>В примере ниже на лету создается текстовый файл и отправляется методом <code>POST</code> на сервер. Здесь используется обычный текст, но нетрудно представить себе пример с бинарным файлом.</p>
+<p>В примере ниже на лету создаётся текстовый файл и отправляется методом <code>POST</code> на сервер. Здесь используется обычный текст, но нетрудно представить себе пример с бинарным файлом.</p>
<pre class="brush: js notranslate">var oReq = new XMLHttpRequest();
oReq.open("POST", url, true);
@@ -121,7 +121,7 @@ xhr.open("POST", url, false);
xhr.send(myArray);
</pre>
-<p>Здесь создается и отправляется 512-ти байтовый массив из 8-битных целых чисел, н, разумеется, можно использовать любые двоичные данные.</p>
+<p>Здесь создаётся и отправляется 512-ти байтовый массив из 8-битных целых чисел, н, разумеется, можно использовать любые двоичные данные.</p>
<div class="note"><strong>Примечание:</strong> Поддержка передачи объектов <a href="/en-US/docs/JavaScript_typed_arrays/ArrayBuffer" title="ArrayBuffer"><code>ArrayBuffer</code></a> с помощью XMLHttpRequest появилась в Gecko 9.0 {{geckoRelease("9.0")}}. <strong>Add information about other browsers' support here.</strong></div>
@@ -144,7 +144,7 @@ req.sendAsBinary(aBody);
<p>В строке 5 метод <code>sendAsBinary()</code> начинает запрос.</p>
-<div class="note"><strong>Примечание:</strong> Нестандартный метод <code>sendAsBinary</code> начиная с Gecko 31 {{ geckoRelease(31) }} считается устаревшим и скоро будет удален. Вместо него, как показывалось выше, можно использовать стандартный метод <code>send(Blob data)</code>.</div>
+<div class="note"><strong>Примечание:</strong> Нестандартный метод <code>sendAsBinary</code> начиная с Gecko 31 {{ geckoRelease(31) }} считается устаревшим и скоро будет удалён. Вместо него, как показывалось выше, можно использовать стандартный метод <code>send(Blob data)</code>.</div>
<p>Кроме того, чтобы отправить бинарные данные можно передать экземпляр {{interface("nsIFileInputStream")}} в метод <a href="/en-US/docs/DOM/XMLHttpRequest#send()" title="XMLHttpRequest#send()"><code>send()</code></a>. В этом случае заголовок <code>Content-Length</code> заполнять явно необязательно, поскольку информация получается из потока автоматически:</p>
diff --git a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html
index 4304530ac7..0a7d0f9cf4 100644
--- a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html
+++ b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html
@@ -226,7 +226,7 @@ The second line.
<h4 id="Небольшой_классический_фреймворк">Небольшой классический фреймворк</h4>
-<p>Все данные эффекты достигаются с помощью веб браузера, когда вы отправляете {{ HTMLElement("form") }}. Но если вам требуется выполнить все операции с помощью лишь JavaScript, то вам придется проинструктировать интерпретатор обо <em>всех</em> выполняемых операциях. Для, того чтобы отправлять формы с помощью <em>чистого</em> AJAX, потребуется слишком комплексное описание, чтобы тут рассуждать о нем во всех подробностях. В связи с этим, мы опубликовали здесь <strong>полный(но все еще дидактический) фреймворк, </strong>который все же способен использовать все четыре способа отправки и, так же поддерживает <strong>файловую загрузку.</strong></p>
+<p>Все данные эффекты достигаются с помощью веб браузера, когда вы отправляете {{ HTMLElement("form") }}. Но если вам требуется выполнить все операции с помощью лишь JavaScript, то вам придётся проинструктировать интерпретатор обо <em>всех</em> выполняемых операциях. Для, того чтобы отправлять формы с помощью <em>чистого</em> AJAX, потребуется слишком комплексное описание, чтобы тут рассуждать о нем во всех подробностях. В связи с этим, мы опубликовали здесь <strong>полный(но все ещё дидактический) фреймворк, </strong>который все же способен использовать все четыре способа отправки и, так же поддерживает <strong>файловую загрузку.</strong></p>
<div style="height: 400px; margin-bottom: 12px; overflow: auto;">
<pre class="brush: html notranslate">&lt;!doctype html&gt;
diff --git a/files/ru/web/api/xmlhttprequest/xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/xmlhttprequest/index.html
index 53fb283a75..bcd89a4530 100644
--- a/files/ru/web/api/xmlhttprequest/xmlhttprequest/index.html
+++ b/files/ru/web/api/xmlhttprequest/xmlhttprequest/index.html
@@ -43,9 +43,9 @@ translation_of: Web/API/XMLHttpRequest/XMLHttpRequest
<dd>Существует два флага, которые можно установить:
<dl>
<dt><code>mozAnon</code></dt>
- <dd>Boolean: Установка этого флага в значение <code>true</code> приведет к тому, что браузер не будет раскрывать {{Glossary("origin")}} и <a href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#user-credentials" title="Defintion of “User credentials” in the XMLHttpRequest specification.">учётные данные пользователя</a> при получении ресурсов. Главным образом это означает, что файлы {{Glossary("Cookie", "cookies")}} не будут отправлены, если они не добавлены явно с использованием setRequestHeader.</dd>
+ <dd>Boolean: Установка этого флага в значение <code>true</code> приведёт к тому, что браузер не будет раскрывать {{Glossary("origin")}} и <a href="http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#user-credentials" title="Defintion of “User credentials” in the XMLHttpRequest specification.">учётные данные пользователя</a> при получении ресурсов. Главным образом это означает, что файлы {{Glossary("Cookie", "cookies")}} не будут отправлены, если они не добавлены явно с использованием setRequestHeader.</dd>
<dt><code>mozSystem</code></dt>
- <dd>Boolean: Установка этого флага в значение <code>true</code> позволяет устанавливать межсайтовые соединения не требуя подключения сервера с помощью {{Glossary("CORS")}}. <em>Требует установки флага <code>mozAnon: true</code>, т.к. это нельзя сочетать с отправкой файлов cookie или других учетных данных пользователя. Это работает только в привилегированных (проверенных) приложениях ({{Bug ("692677")}}));  не работает на произвольных веб-страницах, загруженных в Firefox.</em></dd>
+ <dd>Boolean: Установка этого флага в значение <code>true</code> позволяет устанавливать межсайтовые соединения не требуя подключения сервера с помощью {{Glossary("CORS")}}. <em>Требует установки флага <code>mozAnon: true</code>, т.к. это нельзя сочетать с отправкой файлов cookie или других учётных данных пользователя. Это работает только в привилегированных (проверенных) приложениях ({{Bug ("692677")}}));  не работает на произвольных веб-страницах, загруженных в Firefox.</em></dd>
</dl>
</dd>
</dl>
diff --git a/files/ru/web/api/xmlserializer/index.html b/files/ru/web/api/xmlserializer/index.html
index 7df04c7f6d..9e8823e80c 100644
--- a/files/ru/web/api/xmlserializer/index.html
+++ b/files/ru/web/api/xmlserializer/index.html
@@ -13,7 +13,7 @@ translation_of: Web/API/XMLSerializer
<dt id="serializeToString"><code>XMLSerializer.serializeToString</code>()</dt>
<dd>Возвращает сериализованное дерево или ветку в виде строки</dd>
<dt id="serializeToStream"><code>XMLSerializer.serializeToStream()</code> {{ non-standard_inline() }}{{ deprecated_inline() }}</dt>
- <dd>Поддерево, обернутое в указанный элемент, сериализуется в поток байтов с использованием указанной кодировки.</dd>
+ <dd>Поддерево, обёрнутое в указанный элемент, сериализуется в поток байтов с использованием указанной кодировки.</dd>
</dl>
<h2 id="Examples" name="Examples">Примеры</h2>