diff --git a/.markdownlint-cli2.jsonc b/.markdownlint-cli2.jsonc index 97c9dbd1c8aa8e..6575bec1ed5597 100644 --- a/.markdownlint-cli2.jsonc +++ b/.markdownlint-cli2.jsonc @@ -167,15 +167,14 @@ "replace": " ", "searchScope": "all" }, - // XXX Many instances still found in translated content // XXX zh-cn/zh-tw prefers em-dash instead - // { - // "name": "m-dash", - // "message": "Don't use '--'. Use m-dash — instead", - // "search": " -- ", - // "replace": " — ", - // "searchScope": "text" - // }, + { + "name": "m-dash", + "message": "Don't use '--'. Use m-dash — instead", + "search": " -- ", + "replace": " — ", + "searchScope": "text" + }, { "name": "relative-link", "message": "Internal links should start with '/'", diff --git a/files/es/learn/server-side/django/admin_site/index.md b/files/es/learn/server-side/django/admin_site/index.md index 4a77b0a4547695..9a516a34d0ee20 100644 --- a/files/es/learn/server-side/django/admin_site/index.md +++ b/files/es/learn/server-side/django/admin_site/index.md @@ -107,9 +107,9 @@ Puedes editar un libro haciendo click en su nombre en la lista. La página de ed ![Admin Site - Book Edit](admin_book_modify.png) -Ahora regresa a la página **Home** (usando el enlace _Home_ de la barra superior) y observa las listas **Author** y **Genre** -- ya deberías tener algunos registros creados de cuando añadiste los nuevos libros, pero puedes crear algunos más. +Ahora regresa a la página **Home** (usando el enlace _Home_ de la barra superior) y observa las listas **Author** y **Genre** — ya deberías tener algunos registros creados de cuando añadiste los nuevos libros, pero puedes crear algunos más. -Lo que no vas a tener es _BookInstances_, porque estas no se crean de los libros (si bien puedes crear un `Book` desde una `BookInstance` -- esta es la naturaleza de los campos `ForeignKey`). Regresa a la página _Home_ y presiona el botón **Add** relacionado para desplegar la pantalla _Add book instance_, como se muestra abajo. Nota el largo y globalmente único Id, que puede ser usado para identificar inequívocamente una única copia de un libro dentro de la biblioteca. +Lo que no vas a tener es _BookInstances_, porque estas no se crean de los libros (si bien puedes crear un `Book` desde una `BookInstance` — esta es la naturaleza de los campos `ForeignKey`). Regresa a la página _Home_ y presiona el botón **Add** relacionado para desplegar la pantalla _Add book instance_, como se muestra abajo. Nota el largo y globalmente único Id, que puede ser usado para identificar inequívocamente una única copia de un libro dentro de la biblioteca. ![Admin Site - BookInstance Add](admin_bookinstance_add.png) @@ -211,7 +211,7 @@ class BookAdmin(admin.ModelAdmin): Desafortunadamente, no podemos especificar directamente el campo `genre` en `list_display` porque es un campo `ManyToManyField` (Django previene esto porque habría un alto "costo" de acceso a base de datos si lo hiciera). En lugar de eso, definiremos una función `display_genre` para obtener la información como una cadena (esta es la función que hemos llamado arriba; la definiremos más abajo). -> **Nota:** Obtener el `genre` podría no ser una buena idea aquí, debido al "costo" de la operación en la base de datos. Te mostramos cómo hacerlo porque llamar funciones desde tus modelos puede ser muy útil por otras razones -- por ejemplo para añadir un enlace _**Delete**_ junto a cada ítem en la lista. +> **Nota:** Obtener el `genre` podría no ser una buena idea aquí, debido al "costo" de la operación en la base de datos. Te mostramos cómo hacerlo porque llamar funciones desde tus modelos puede ser muy útil por otras razones — por ejemplo para añadir un enlace _**Delete**_ junto a cada ítem en la lista. Añade el siguiente código en tu modelo `Book` (**models.py**). Esto crea una cadena con los tres primeros valores del campo `genre` (si existen) y crea una `short_description` (descripción corta) que puede ser usada en el sitio de administración por este método. @@ -263,7 +263,7 @@ class AuthorAdmin(admin.ModelAdmin): El atributo `fields` lista solo los campos que se van a desplegar en el formulario, en orden. Los campos se despliegan en vertical por defecto, pero se desplegarán en horizontal si los agrupas en una tupla (como se muestra en los campos "date" arriba). -Reinicia tu aplicación y ve a la vista de detalle de autor -- ahora debería aparecer como se muestra abajo: +Reinicia tu aplicación y ve a la vista de detalle de autor — ahora debería aparecer como se muestra abajo: ![Admin Site - Improved Author Detail](admin_improved_author_detail.png) @@ -290,7 +290,7 @@ class BookInstanceAdmin(admin.ModelAdmin): ) ``` -Cada sección tiene su propio título (o `None`, si no quieres un título) y una tupla de campos asociada en un diccionario -- el formato es complicado de describir pero bastante fácil de entender si observas el fragmento de código que se encuentra justo arriba. +Cada sección tiene su propio título (o `None`, si no quieres un título) y una tupla de campos asociada en un diccionario — el formato es complicado de describir pero bastante fácil de entender si observas el fragmento de código que se encuentra justo arriba. Reinicia y navega a una vista de instancia de libro (book instance); el formulario debería aparecer como se muestra abajo: @@ -312,7 +312,7 @@ class BookAdmin(admin.ModelAdmin): inlines = [BooksInstanceInline] ``` -Prueba recargando tu aplicación y observando la vista para un libro -- ahora deberías ver al final las instancias relacionadas a este libro (inmediatamente debajo de los campos de género del libro): +Prueba recargando tu aplicación y observando la vista para un libro — ahora deberías ver al final las instancias relacionadas a este libro (inmediatamente debajo de los campos de género del libro): ![Admin Site - Book with Inlines](admin_improved_book_detail_inlines.png) diff --git a/files/es/learn/server-side/django/generic_views/index.md b/files/es/learn/server-side/django/generic_views/index.md index 56c1df78dcd466..f563975edd3325 100644 --- a/files/es/learn/server-side/django/generic_views/index.md +++ b/files/es/learn/server-side/django/generic_views/index.md @@ -59,13 +59,13 @@ urlpatterns = [ Como se discutió en el tutorial anterior, la URL debió previamente haber coincidido con `/catalog`, de modo que la vista será llamada en realidad para la URL: `/catalog/books/`. -La función de vista tiene un formato diferente al anterior -- eso es porque esta vista será en realidad implementada como una clase. Heredaremos desde una función de vista genérica existente que ya hace la mayoría de lo que queremos que esta función de vista haga, en lugar de escribir la nuestra propia desde el inicio. +La función de vista tiene un formato diferente al anterior — eso es porque esta vista será en realidad implementada como una clase. Heredaremos desde una función de vista genérica existente que ya hace la mayoría de lo que queremos que esta función de vista haga, en lugar de escribir la nuestra propia desde el inicio. Para las vistas basadas en clases de Django, accedemos a una función de vista apropiada llamando al método de clase `as_view()`. Esto hace todo el trabajo de crear una instancia de la clase, y asegurarse de que los métodos controladores correctos sean llamados para las solicitudes HTTP entrantes. ### Vista (basada en clases) -Podríamos fácilmente escribir la vista de lista de libros como una función regular (tal como nuestra vista de índice anterior), la cual consultaría a la base de datos por todos los libros, y luego llamar a `render()` para pasar dicha lista a una plantilla específica. Sin embargo, en lugar de eso usaremos una vista de lista genérica basada en clases (ListView) -- una clase que hereda desde una vista existente. Debido a que la vista genérica ya implementa la mayoría de la funcionalidad que necesitamos, y sigue la práctica adecuada de Django, seremos capaces de crear una vista de lista más robusta con menos código, menos repetición, y por último menos mantenimiento. +Podríamos fácilmente escribir la vista de lista de libros como una función regular (tal como nuestra vista de índice anterior), la cual consultaría a la base de datos por todos los libros, y luego llamar a `render()` para pasar dicha lista a una plantilla específica. Sin embargo, en lugar de eso usaremos una vista de lista genérica basada en clases (ListView) — una clase que hereda desde una vista existente. Debido a que la vista genérica ya implementa la mayoría de la funcionalidad que necesitamos, y sigue la práctica adecuada de Django, seremos capaces de crear una vista de lista más robusta con menos código, menos repetición, y por último menos mantenimiento. Abre **catalog/views.py**, y copia el siguiente código al final del archivo: @@ -78,7 +78,7 @@ class BookListView(generic.ListView): ¡Eso es todo! La vista genérica consultará a la base de datos para obtener todos los registros del modelo especificado (`Book`) y renderizará una plantilla ubicada en **/locallibrary/catalog/templates/catalog/book_list.html** (que crearemos más abajo). Dentro de la plantilla puedes acceder a la lista de libros mediante la variable de plantilla llamada `object_list` O `book_list` (esto es, genéricamente, "`nombre_del_modelo_list`"). -> **Nota:** Esta ruta complicada para la ubicación de la plantilla no es un error de digitación -- las vistas genéricas buscan plantillas en `/application_name/the_model_name_list.html` (`catalog/book_list.html` en este caso) dentro del directorio de la aplicación `/application_name/templates/` (`/catalog/templates/`). +> **Nota:** Esta ruta complicada para la ubicación de la plantilla no es un error de digitación — las vistas genéricas buscan plantillas en `/application_name/the_model_name_list.html` (`catalog/book_list.html` en este caso) dentro del directorio de la aplicación `/application_name/templates/` (`/catalog/templates/`). Puedes añadir atributos para cambiar el comportamiento por defecto de arriba. Por ejemplo, puedes especificar otro archivo de plantilla si necesitas tener múltiples vistas que usen el mismo modelo, o puedes querer usar un nombre diferente de variable de plantilla si `book_list` no resulta intuitivo para tu caso particular de uso de plantilla. Posiblemente la variación más útil es cambiar/filtrar el conjunto de resultados que se devuelve, así, en lugar de listar todos los libros podrías listar los 5 libros más leídos por otros usuarios. @@ -192,9 +192,9 @@ El código dentro del lazo crea un ítem de lista para cada libro, que muestra t Accedemos a los _campos_ del registro del libro asociado usando la "notación de punto" (ej. `book.title` y `book.author`), donde el texto que sigue a la palabra `book` es el nombre del campo (como se definió en el modelo). -También podemos invocar _funciones_ en el modelo desde dentro de nuestra plantilla -- en este caso invocamos a `book.get_absolute_url()` para obtener una URL que se podría usar para desplegar la página de detalle relacionada. Esto funciona siempre y cuando la función no tenga ningún argumento (¡no hay forma de enviar argumentos!). +También podemos invocar _funciones_ en el modelo desde dentro de nuestra plantilla — en este caso invocamos a `book.get_absolute_url()` para obtener una URL que se podría usar para desplegar la página de detalle relacionada. Esto funciona siempre y cuando la función no tenga ningún argumento (¡no hay forma de enviar argumentos!). -> **Nota:** Debemos tener cuidado de los "efectos secundarios" al invocar funciones en las plantillas. Aquí solo obtenemos una URL para desplegar, pero una función puede hacer casi cualquier cosa -- ¡no quisieramos borrar nuestra base de datos (por ejemplo) solo por renderizar nuestra plantilla! +> **Nota:** Debemos tener cuidado de los "efectos secundarios" al invocar funciones en las plantillas. Aquí solo obtenemos una URL para desplegar, pero una función puede hacer casi cualquier cosa — ¡no quisieramos borrar nuestra base de datos (por ejemplo) solo por renderizar nuestra plantilla! #### Actualizar la plantilla base @@ -208,7 +208,7 @@ Abre la plantilla base (**/locallibrary/catalog/templates/_base_generic.html_**) ### ¿Cómo se ve? -Aún no podrás ver la lista de libros, porque aún nos falta una dependencia -- el mapeo URL para las páginas de detalle de libros, que se necesita para crear los hipervínculos a los libros individuales. Mostraremos tanto la lista de libros como las vistas de detalle después de la siguiente sección. +Aún no podrás ver la lista de libros, porque aún nos falta una dependencia — el mapeo URL para las páginas de detalle de libros, que se necesita para crear los hipervínculos a los libros individuales. Mostraremos tanto la lista de libros como las vistas de detalle después de la siguiente sección. ## Página de detalle de libros @@ -438,7 +438,7 @@ Si lo necesitas puedes cambiar la plantilla usada y el nombre del objeto de cont #### ¿Qué sucede si el registro no existe? -Si un registro solicitado no existe, la vista de detalle genérica basada en clases lanzará automáticamente por tí una excepción de tipo Http404 -- en producción, esto desplegará automáticamente una página apropiada de "recurso no encontrado", que puedes personalizar si lo deseas. +Si un registro solicitado no existe, la vista de detalle genérica basada en clases lanzará automáticamente por tí una excepción de tipo Http404 — en producción, esto desplegará automáticamente una página apropiada de "recurso no encontrado", que puedes personalizar si lo deseas. Solo para darte una idea sobre cómo funciona esto, el fragmento de código de abajo demuestra cómo implementarías la vista basada en clases como una función, si **no** estuvieras usando la vista de detalle genérica basada en clases. @@ -560,7 +560,7 @@ Este método es necesario porque has declarado un campo `ForeignKey` (uno-a-much En este punto deberíamos haber creado todo lo necesario para desplegar tanto la lista de libros como las páginas de detalles de libros. Ejecuta el servidor (`python3 manage.py runserver`) y dirígete en tu navegador a `http://127.0.0.1:8000/`. -> **Advertencia:** No hagas click aún en ningún enlace de autor o de detalles de autores -- ¡los crearás en el reto! +> **Advertencia:** No hagas click aún en ningún enlace de autor o de detalles de autores — ¡los crearás en el reto! Haz click en el enlace **All books** para desplegar la lista de libros. @@ -586,7 +586,7 @@ class BookListView(generic.ListView): paginate_by = 10 ``` -Con esta adición, apenas tengas más de 10 registros la vista comenzará a paginar la información que envía a la plantilla. A las diferentes páginas se accede usando parámetros GET -- para acceder a la página 2 usarías la URL: `/catalog/books/?page=2`. +Con esta adición, apenas tengas más de 10 registros la vista comenzará a paginar la información que envía a la plantilla. A las diferentes páginas se accede usando parámetros GET — para acceder a la página 2 usarías la URL: `/catalog/books/?page=2`. ### Plantillas @@ -624,7 +624,7 @@ Usamos `\{{ request.path }}` para obtener la URL de la página actual para crear ### ¿Cómo se ve? -La captura de pantalla de abajo muestra cómo se ve la paginación -- si no has ingresado más de 10 títulos en tu base de datos, puedes probarlo más fácilmente reduciendo el número especificado en la línea `paginate_by` en tu archivo **catalog/views.py**. Para obtener el resultado de abajo lo cambiamos a `paginate_by = 2`. +La captura de pantalla de abajo muestra cómo se ve la paginación — si no has ingresado más de 10 títulos en tu base de datos, puedes probarlo más fácilmente reduciendo el número especificado en la línea `paginate_by` en tu archivo **catalog/views.py**. Para obtener el resultado de abajo lo cambiamos a `paginate_by = 2`. Los enlaces de paginación se muestran en la parte de abajo, con enlaces de next/previous desplegados dependiendo de en qué página estés diff --git a/files/es/learn/server-side/django/home_page/index.md b/files/es/learn/server-side/django/home_page/index.md index 09f8cb6f577916..3da1d87a9b715f 100644 --- a/files/es/learn/server-side/django/home_page/index.md +++ b/files/es/learn/server-side/django/home_page/index.md @@ -202,7 +202,7 @@ La plantilla base que pensamos usar para el siito web _LocalLibrary_ se muestra > **Nota:** También introducimos dos etiquetas de plantilla adicionales: `url` y `load static`. Se discute sobre ellas en secciones posteriores. -Crea un nuevo archivo -- **/locallibrary/catalog/templates/_base_generic.html_** -- y pon en él el siguiente contenido: +Crea un nuevo archivo — **/locallibrary/catalog/templates/_base_generic.html_** — y pon en él el siguiente contenido: ```django @@ -245,7 +245,7 @@ Crea un nuevo archivo -- **/locallibrary/catalog/templates/_base_generic.html_** ``` -La plantilla usa (e incluye) JavaScript y CSS desde [Bootstrap](http://getbootstrap.com/) para mejorar el diseño y la presentación de la página HTML. Usar Bootstrap u otro framework web del lado del cliente es una manera rápida de crear una página atractiva que puede escalarse bien en diferentes tamaños de navegador, y también nos permite concentrarnos en la presentación de la página sin tener que entrar en ninguno de los detalles -- ¡queremos enfocarnos nada más en el código del lado del servidor aquí! +La plantilla usa (e incluye) JavaScript y CSS desde [Bootstrap](http://getbootstrap.com/) para mejorar el diseño y la presentación de la página HTML. Usar Bootstrap u otro framework web del lado del cliente es una manera rápida de crear una página atractiva que puede escalarse bien en diferentes tamaños de navegador, y también nos permite concentrarnos en la presentación de la página sin tener que entrar en ninguno de los detalles — ¡queremos enfocarnos nada más en el código del lado del servidor aquí! La plantilla base también hace referencia a un archivo css local (**styles.css**) que brinda algo más de estilo. Crea **/locallibrary/catalog/static/css/styles.css** y pon en él el siguiente contenido: @@ -370,7 +370,7 @@ Aquí hay un par de tareas para probar tu familiaridad con consultas a modelos, ## Resumen -Hemos creado la página de inicio para nuestro sitio -- una página HTML que despliega algunos conteos de registros de la base de datos y contiene enlaces a otras de nuestras páginas que aún nos faltan por crear. Sobre la marcha hemos adquirido mucha información fundamental sobre mapeadores URL, vistas, consultas a la base de datos usando nuestros modelos, cómo enviar información a una plantilla desde nuestra vista, y cómo crear y extender plantillas. +Hemos creado la página de inicio para nuestro sitio — una página HTML que despliega algunos conteos de registros de la base de datos y contiene enlaces a otras de nuestras páginas que aún nos faltan por crear. Sobre la marcha hemos adquirido mucha información fundamental sobre mapeadores URL, vistas, consultas a la base de datos usando nuestros modelos, cómo enviar información a una plantilla desde nuestra vista, y cómo crear y extender plantillas. En nuestro siguiente artículo nos basaremos en nuestro conocimiento para crear las otras cuatro páginas. diff --git a/files/es/learn/server-side/django/sessions/index.md b/files/es/learn/server-side/django/sessions/index.md index 64135f54a99b24..9bc572bc060439 100644 --- a/files/es/learn/server-side/django/sessions/index.md +++ b/files/es/learn/server-side/django/sessions/index.md @@ -35,7 +35,7 @@ El framework de sesiones te permite implementar este tipo de comportamiento, pud ## ¿Qué son las sesiones? -Toda comunicación entre los navegadores web y los servidores se da a través del protocolo HTTP, que es _sin estado_. El hecho de que el protocolo sea sin estado significa que los mensajes entre el cliente y el servidor son completamente independientes entre sí -- no existe una noción de "secuencia" o comportamiento basado en mensajes previos. Como resultado, si quieres tener un sitio que guarde registro de la relación que tiene lugar con un cliente, necesitas implementarlo tú mismo. +Toda comunicación entre los navegadores web y los servidores se da a través del protocolo HTTP, que es _sin estado_. El hecho de que el protocolo sea sin estado significa que los mensajes entre el cliente y el servidor son completamente independientes entre sí — no existe una noción de "secuencia" o comportamiento basado en mensajes previos. Como resultado, si quieres tener un sitio que guarde registro de la relación que tiene lugar con un cliente, necesitas implementarlo tú mismo. Las sesiones son el mecanismo que usa Django (y la mayor parte de Internet) para guardar registro del "estado" entre el sitio y un navegador en particular. Las sesiones te permiten almacenar información arbitraria por navegador, y tener esta información disponible para el sitio cuando el navegador se conecta. Cada pieza individual de información asociada con una sesión se conoce como "clave", que se usa tanto para guardar como para recuperar la información. @@ -107,7 +107,7 @@ request.session.modified = True > **Nota:** Puedes cambiar el comportamiento para que el sitio actualice la base de datos y envíe la cookie en cada solicitud añádiendo `SESSION_SAVE_EVERY_REQUEST = True` a la configuración de tu proyecto (**locallibrary/locallibrary/settings.py**). -## Ejemplo simple -- obteniendo conteos de visitas +## Ejemplo simple — obteniendo conteos de visitas Como un ejemplo simple del mundo real, actualizaremos nuestra biblioteca para decirle al usuario actual cuántas veces ha visitado la página principal de _BibliotecaLocal_. diff --git a/files/es/web/api/document_object_model/using_the_document_object_model/index.md b/files/es/web/api/document_object_model/using_the_document_object_model/index.md index afb1d8f1639f92..303e9c6fa77970 100644 --- a/files/es/web/api/document_object_model/using_the_document_object_model/index.md +++ b/files/es/web/api/document_object_model/using_the_document_object_model/index.md @@ -8,7 +8,7 @@ The W3C's DOM Level 1 Core is a powerful object model for changing the content t ## What is a content tree? -Many HTML authors may think of HTML as something flat -- a bunch of text with tags in the middle. However, it is something much more than that. Any HTML document (or for that matter any SGML document or XML document) is a tree structure. For example, the following document and tree structure are similar (although not identical -- see the notes on [whitespace in the DOM](/es/docs/Whitespace_in_the_DOM)): +Many HTML authors may think of HTML as something flat — a bunch of text with tags in the middle. However, it is something much more than that. Any HTML document (or for that matter any SGML document or XML document) is a tree structure. For example, the following document and tree structure are similar (although not identical — see the notes on [whitespace in the DOM](/es/docs/Whitespace_in_the_DOM)): ```html diff --git a/files/es/web/api/node/insertbefore/index.md b/files/es/web/api/node/insertbefore/index.md index f1db44583b6be8..3e7635d078bd9e 100644 --- a/files/es/web/api/node/insertbefore/index.md +++ b/files/es/web/api/node/insertbefore/index.md @@ -27,7 +27,7 @@ var insertedNode = parentNode.insertBefore(newNode, referenceNode); Si `referenceNode` es `null`, el `newNode` se insertará al final de la lista de nodos hijos. -> **Nota:** `referenceNode` **no** es un parámetro opcional -- debes pasar explícitamente un `Node` o `null`. No proporcionándolo o pasando valores no válidos podría provocar un [comportamiento](https://code.google.com/p/chromium/issues/detail?id=419780) [distinto](https://bugzilla.mozilla.org/show_bug.cgi?id=119489) en diferentes versiones de navegadores. +> **Nota:** `referenceNode` **no** es un parámetro opcional — debes pasar explícitamente un `Node` o `null`. No proporcionándolo o pasando valores no válidos podría provocar un [comportamiento](https://code.google.com/p/chromium/issues/detail?id=419780) [distinto](https://bugzilla.mozilla.org/show_bug.cgi?id=119489) en diferentes versiones de navegadores. ### Valor devuelto diff --git a/files/es/web/api/webgl_api/tutorial/using_textures_in_webgl/index.md b/files/es/web/api/webgl_api/tutorial/using_textures_in_webgl/index.md index 1b29a6deabeb52..899d95b20e6822 100644 --- a/files/es/web/api/webgl_api/tutorial/using_textures_in_webgl/index.md +++ b/files/es/web/api/webgl_api/tutorial/using_textures_in_webgl/index.md @@ -118,7 +118,7 @@ Una vez que hemos seteado la matriz de mapeo de textura, pasamos la matriz al b ## Actualizando los shaders -El shader -- y el código que inicializa los shaders -- también necesita ser actualizado para utilizar la textura en vez de un color solido. +El shader — y el código que inicializa los shaders — también necesita ser actualizado para utilizar la textura en vez de un color solido. Primero, echemos un vistazo a un cambio muy sencillo que se necesita en initShaders(): diff --git a/files/es/web/css/appearance/index.md b/files/es/web/css/appearance/index.md index c295fc1e007189..efe1c263926880 100644 --- a/files/es/web/css/appearance/index.md +++ b/files/es/web/css/appearance/index.md @@ -126,7 +126,7 @@ Esta propiedad es frecuentemente utilizada en hojas de estilo [XUL](/es/docs/Moz | `treetwistyopen` | | | `treeview` | | | `-moz-mac-unified-toolbar` | **Mac OS X only**. This causes the toolbar and title bar to render using the unified toolbar style common to Mac OS X 10.4 and later applications. | -| `-moz-win-borderless-glass` | **Windows Vista and later only**. This style applies the Aero Glass effect -- but without a border -- to the element. | +| `-moz-win-borderless-glass` | **Windows Vista and later only**. This style applies the Aero Glass effect — but without a border — to the element. | | `-moz-win-browsertabbar-toolbox` | **Windows Vista and later only**. This toolbox style is meant to be used for the tab bar in a browser. | | `-moz-win-communicationstext` | | | `-moz-win-communications-toolbox` | **Windows Vista and later only**. This toolbox style is meant to be used in communications and productivity applications. Corresponding foreground color is `-moz-win-communicationstext`. | diff --git a/files/es/web/html/element/object/index.md b/files/es/web/html/element/object/index.md index b756b04cae7d45..fca8caefb5fa94 100644 --- a/files/es/web/html/element/object/index.md +++ b/files/es/web/html/element/object/index.md @@ -103,7 +103,7 @@ Este elemento incluye los [global attributes](/es/docs/Web/HTML/Global_attribute - `form` - : El elemento form, si es que hay alguno, al que el objeto está asociado (su _form propietario_). El valor de este atributo debe ser el ID de un elemento {{HTMLElement("form")}} del mismo documento. - `height` - - : La altura del recurso mostrado, en [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Valores absolutos unicamente. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes)) + - : La altura del recurso mostrado, en [CSS pixels](https://drafts.csswg.org/css-values/#px). — (Valores absolutos unicamente. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes)) - `name` - : El nombre de un contexto de navegación válido (HTML5), o el nombre del control (HTML4). - `standby` only {{deprecated_inline}} @@ -117,7 +117,7 @@ Este elemento incluye los [global attributes](/es/docs/Web/HTML/Global_attribute - `usemap` - : Una refercia hash-name a un elemento {{HTMLElement("map")}}; es decir un '#' seguido del valor de un [`name`](/es/docs/Web/HTML/Element/map#name) de un elemento map. - `width` - - : El ancho del recurso mostrado, en [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Valores absolutos unicamente. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes)) + - : El ancho del recurso mostrado, en [CSS pixels](https://drafts.csswg.org/css-values/#px). — (Valores absolutos unicamente. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes)) ## Ejemplos diff --git a/files/es/web/javascript/equality_comparisons_and_sameness/index.md b/files/es/web/javascript/equality_comparisons_and_sameness/index.md index 516714fdc7558b..3890e3a4c266f4 100644 --- a/files/es/web/javascript/equality_comparisons_and_sameness/index.md +++ b/files/es/web/javascript/equality_comparisons_and_sameness/index.md @@ -44,7 +44,7 @@ console.log(obj === null); // false console.log(obj === undefined); // false ``` -La igualdad estricta es casi siempre el operador igualdad más adecuado. Para todos los valores, excepto para los números, utiliza la semántica obvia: un valor sólo es igual así mismo. Para número usa una semántica ligeramente diferente para paliar dos casos límites diferentes. El primero es que usando número en coma flotante el cero puede ser positivo o negativo. Esto es útil para representar ciertas soluciones matemáticas, pero en la mayoría de las situaciones no nos importa esa diferencia entre +0 y -0. La igualdad estricta los trata como un únicomvalor. El segundo caso tiene que ver con que los número en coma flotante incluyen el concepto NaN (Not a Number) como un posible valor para representar la solución a ciertos problemas matemáticos mal definidos, por ejemplo la adición de un infinito negativo a un infinito positivo. La igualdad estricta trata NaN como desigual con cualquier otro valore -- incluyendo a sí mismo. (El único caso en el que x !== x es verdades en cuando x is NaN). +La igualdad estricta es casi siempre el operador igualdad más adecuado. Para todos los valores, excepto para los números, utiliza la semántica obvia: un valor sólo es igual así mismo. Para número usa una semántica ligeramente diferente para paliar dos casos límites diferentes. El primero es que usando número en coma flotante el cero puede ser positivo o negativo. Esto es útil para representar ciertas soluciones matemáticas, pero en la mayoría de las situaciones no nos importa esa diferencia entre +0 y -0. La igualdad estricta los trata como un únicomvalor. El segundo caso tiene que ver con que los número en coma flotante incluyen el concepto NaN (Not a Number) como un posible valor para representar la solución a ciertos problemas matemáticos mal definidos, por ejemplo la adición de un infinito negativo a un infinito positivo. La igualdad estricta trata NaN como desigual con cualquier otro valore — incluyendo a sí mismo. (El único caso en el que x !== x es verdades en cuando x is NaN). ## Igualdad débil usando == diff --git a/files/es/web/javascript/reference/statements/function_star_/index.md b/files/es/web/javascript/reference/statements/function_star_/index.md index c3eee286e8636b..96df2ca4daa76a 100644 --- a/files/es/web/javascript/reference/statements/function_star_/index.md +++ b/files/es/web/javascript/reference/statements/function_star_/index.md @@ -99,6 +99,6 @@ console.log(gen.next().value); // 20 - Other web resources: - [Regenerator](http://facebook.github.io/regenerator/) an ES2015 generator compiler to ES5 - - [Forbes Lindesay: Promises and Generators: control flow utopia -- JSConf EU 2013](http://www.youtube.com/watch?v=qbKWsbJ76-s) + - [Forbes Lindesay: Promises and Generators: control flow utopia — JSConf EU 2013](http://www.youtube.com/watch?v=qbKWsbJ76-s) - [Hemanth.HM: The New gen of \*gen(){}](https://www.youtube.com/watch?v=ZrgEZykBHVo&list=PLuoyIZT5fPlG44bPq50Wgh0INxykdrYX7&index=1) - [Task.js](http://taskjs.org/) diff --git a/files/es/webassembly/concepts/index.md b/files/es/webassembly/concepts/index.md index 7709c73520e653..89d742d8446a0d 100644 --- a/files/es/webassembly/concepts/index.md +++ b/files/es/webassembly/concepts/index.md @@ -11,7 +11,7 @@ En este artículo se explica los conceptos detrás de cómo funciona WebAssembly WebAssembly es un nuevo tipo de código que puede ser ejecutado en navegadores modernos, y provee nuevas funcionalidades y mejoras en rendimiento. No está pensado para ser ser escrito a mano, si no que está diseñado par ser un objeto final de compilación para lenguajes de bajo nivel como C, C++, Rust, etc. -Esto tiene enormes implicaciones para la plataforma web -- presenta un medio para ejecutar código escrito en múltiples lenguajes en la web, haciendo que una aplicación web, se ejecute casi a la misma velocidad de código nativo, algo que previamente se podía hacer. +Esto tiene enormes implicaciones para la plataforma web — presenta un medio para ejecutar código escrito en múltiples lenguajes en la web, haciendo que una aplicación web, se ejecute casi a la misma velocidad de código nativo, algo que previamente se podía hacer. Lo que es más, no es necesario conocer como se crea código WebAssembly para usar sus ventajas. Los módulos de WebAssembly pueden importase en una aplicación web (o Node.js), exponiendo funciones de WebAssembly para ser usadas mediante Javascript. Los entornos de Javascript pueden usar WebAssembly para obtener grandes mejoras de rendimiento y nuevas funcionalidades y ser fácilmente disponibles por los desarrolladores Web. diff --git a/files/fr/learn/javascript/first_steps/variables/index.md b/files/fr/learn/javascript/first_steps/variables/index.md index 69d18941816912..92a7945bb9f9a7 100644 --- a/files/fr/learn/javascript/first_steps/variables/index.md +++ b/files/fr/learn/javascript/first_steps/variables/index.md @@ -244,7 +244,7 @@ C'est probablement ce que vous ferez la plupart du temps, c'est plus rapide que A ce moment de votre apprentissage, vous vous demandez sans doute : mais quel besoin de deux mot-clé pour définir une variable ? Pourquoi `var` et `let` ? -Les raisons sont d'ordre historique. A l'origine, quand Javascript fut créé, il n'y avait que `var`. Cela fonctionnait plutôt bien dans la plupart des cas, avec parfois quelques surprises -- l'implémentation étonnante du `var` peut amener à une mauvaise interprétation, voire à des soucis. Ainsi, `let` a été ajouté dans les versions plus récentes de Javascript, un nouveau mot-clé pour créer des variables, avec un fonctionnement différent de celui du `var`, réglant ainsi les difficultés évoquées ci-dessus. +Les raisons sont d'ordre historique. A l'origine, quand Javascript fut créé, il n'y avait que `var`. Cela fonctionnait plutôt bien dans la plupart des cas, avec parfois quelques surprises — l'implémentation étonnante du `var` peut amener à une mauvaise interprétation, voire à des soucis. Ainsi, `let` a été ajouté dans les versions plus récentes de Javascript, un nouveau mot-clé pour créer des variables, avec un fonctionnement différent de celui du `var`, réglant ainsi les difficultés évoquées ci-dessus. Nous évoquons ci-dessous quelques unes de ces différences, sans pouvoir faire ici le tour complet de la question. Vous comprendrez mieux la différence entre ces deux constructions au fur et à mesure de votre progression en JavaScript (si vous ne pouvez pas attendre, consultez la page de référence du `let`). diff --git a/files/fr/web/api/devicemotioneventrotationrate/alpha/index.md b/files/fr/web/api/devicemotioneventrotationrate/alpha/index.md index a99ee97fe9fd1b..f8ea956eee774d 100644 --- a/files/fr/web/api/devicemotioneventrotationrate/alpha/index.md +++ b/files/fr/web/api/devicemotioneventrotationrate/alpha/index.md @@ -7,7 +7,7 @@ translation_of_original: Web/API/DeviceRotationRate/alpha {{ ApiRef("Device Orientation Events") }} -Cette propriété indique la vitesse de rotation autour de l'axe Z -- en degrés par seconde -- dans un objet {{ domxref("DeviceRotationRate") }}. +Cette propriété indique la vitesse de rotation autour de l'axe Z — en degrés par seconde — dans un objet {{ domxref("DeviceRotationRate") }}. ## Syntaxe diff --git a/files/fr/web/api/devicemotioneventrotationrate/beta/index.md b/files/fr/web/api/devicemotioneventrotationrate/beta/index.md index 57f2ec505a985f..2fb5359f2f9677 100644 --- a/files/fr/web/api/devicemotioneventrotationrate/beta/index.md +++ b/files/fr/web/api/devicemotioneventrotationrate/beta/index.md @@ -7,7 +7,7 @@ translation_of_original: Web/API/DeviceRotationRate/beta {{ ApiRef("Device Orientation Events") }} -Cette propriété indique la vitesse de rotation autour de l'axe X -- en degrés par seconde -- dans un objet {{ domxref("DeviceRotationRate") }}. +Cette propriété indique la vitesse de rotation autour de l'axe X — en degrés par seconde — dans un objet {{ domxref("DeviceRotationRate") }}. ## Syntaxe diff --git a/files/fr/web/api/devicemotioneventrotationrate/gamma/index.md b/files/fr/web/api/devicemotioneventrotationrate/gamma/index.md index fe6e9ee9f7c51f..2bd906abe16d88 100644 --- a/files/fr/web/api/devicemotioneventrotationrate/gamma/index.md +++ b/files/fr/web/api/devicemotioneventrotationrate/gamma/index.md @@ -7,7 +7,7 @@ translation_of_original: Web/API/DeviceRotationRate/gamma {{ ApiRef("Device Orientation Events") }} -Cette propriété indique la vitesse de rotation autour de l'axe Y -- en degrés par seconde -- dans un objet {{ domxref("DeviceRotationRate") }}. +Cette propriété indique la vitesse de rotation autour de l'axe Y — en degrés par seconde — dans un objet {{ domxref("DeviceRotationRate") }}. ## Syntaxe diff --git a/files/fr/web/api/history_api/index.md b/files/fr/web/api/history_api/index.md index 29ef6f354bb512..7f41e43d717668 100644 --- a/files/fr/web/api/history_api/index.md +++ b/files/fr/web/api/history_api/index.md @@ -4,7 +4,7 @@ slug: Web/API/History_API translation_of: Web/API/History_API --- -L'objet DOM {{ domxref("window") }} fournit un accès à l'historique du navigateur via l'objet {{ domxref("window.history", "history") }}. Il expose un ensemble de méthodes et de propriétés qui permettent d'avancer et de reculer dans l'historique de l'utilisateur ainsi que -- à partir d'HTML5 -- manipuler le contenu de l'ensemble de l'historique. +L'objet DOM {{ domxref("window") }} fournit un accès à l'historique du navigateur via l'objet {{ domxref("window.history", "history") }}. Il expose un ensemble de méthodes et de propriétés qui permettent d'avancer et de reculer dans l'historique de l'utilisateur ainsi que — à partir d'HTML5 — manipuler le contenu de l'ensemble de l'historique. ## Se déplacer dans l'historique diff --git a/files/fr/web/api/node/insertbefore/index.md b/files/fr/web/api/node/insertbefore/index.md index 659aeed9840cec..b014451c96c004 100644 --- a/files/fr/web/api/node/insertbefore/index.md +++ b/files/fr/web/api/node/insertbefore/index.md @@ -27,7 +27,7 @@ var insertedNode = parentNode.insertBefore(newNode, referenceNode); - `referenceNode` - : Le nœud avant lequel `newNode` est inséré. Si c'est `null`, alors `newNode` est inséré à la fin des nœuds enfants de `parentNode`. -> **Note :** _`referenceNode`_ **n'est pas** un paramètre facultatif -- vous devez explicitement transmettre un `Node` ou `null`. Ne pas le fournir ou transmettre des valeurs invalides provoque des [comportements différents](https://code.google.com/p/chromium/issues/detail?id=419780) selon les différentes versions des navigateurs. +> **Note :** _`referenceNode`_ **n'est pas** un paramètre facultatif — vous devez explicitement transmettre un `Node` ou `null`. Ne pas le fournir ou transmettre des valeurs invalides provoque des [comportements différents](https://code.google.com/p/chromium/issues/detail?id=419780) selon les différentes versions des navigateurs. ### Valeur de retour diff --git a/files/fr/web/javascript/reference/global_objects/string/substring/index.md b/files/fr/web/javascript/reference/global_objects/string/substring/index.md index cab353d366c9d8..8225320be57d88 100644 --- a/files/fr/web/javascript/reference/global_objects/string/substring/index.md +++ b/files/fr/web/javascript/reference/global_objects/string/substring/index.md @@ -82,7 +82,7 @@ function replaceString(oldS, newS, fullS) { replaceString("World", "Web", "Brave New World"); ``` -Attention : ceci peut résulter en une boucle infinie si `oldS` est elle-même une sous-chaine de `newS` -- par exemple, si on essaie de remplacer "World" par "OtherWorld". Une meilleure solution serait de remplacer les chaines de cette manière : +Attention : ceci peut résulter en une boucle infinie si `oldS` est elle-même une sous-chaine de `newS` — par exemple, si on essaie de remplacer "World" par "OtherWorld". Une meilleure solution serait de remplacer les chaines de cette manière : ```js function replaceString(oldS, newS,fullS){ diff --git a/files/fr/web/javascript/reference/statements/function_star_/index.md b/files/fr/web/javascript/reference/statements/function_star_/index.md index 383e2b49c00a3b..f48afb136148d0 100644 --- a/files/fr/web/javascript/reference/statements/function_star_/index.md +++ b/files/fr/web/javascript/reference/statements/function_star_/index.md @@ -195,6 +195,6 @@ console.log(truc.next()); // {value: 10, done: false} - D'autres ressources disponibles sur le Web : - [Regenerator](https://facebook.github.io/regenerator/) un compilateur permettant de traduire des générateurs ES2015 en du code JavaScript basé sur ES5 - - [Forbes Lindesay: Promises and Generators: control flow utopia -- JSConf EU 2013](https://www.youtube.com/watch?v=qbKWsbJ76-s) (vidéo en anglais) + - [Forbes Lindesay: Promises and Generators: control flow utopia — JSConf EU 2013](https://www.youtube.com/watch?v=qbKWsbJ76-s) (vidéo en anglais) - [Task.js](https://github.com/mozilla/task.js) - [Itérer de façon asynchrone sur des générateurs](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/async%20%26%20performance/ch4.md#iterating-generators-asynchronously) diff --git a/files/fr/web/xslt/transforming_xml_with_xslt/index.md b/files/fr/web/xslt/transforming_xml_with_xslt/index.md index 3d5971b084d175..fbedd14a70a9a3 100644 --- a/files/fr/web/xslt/transforming_xml_with_xslt/index.md +++ b/files/fr/web/xslt/transforming_xml_with_xslt/index.md @@ -10,7 +10,7 @@ La séparation du contenu et de la présentation est l'une des caractéristiques Mais au bout du compte, la plus grande partie du contenu des documents XML devra être présentée à des lecteurs humains. Parce qu'un navigateur possède une interface familière et extrêmement flexible, c'est un moyen idéal pour afficher une version du contenu XML remise en forme spécifiquement pour être présentée. Conçu dès ses débuts pour s'appuyer sur un large éventail de technologies XML, Mozilla intègre tous les mécanismes nécessaires au traitement des documents XML originaux, et des feuilles de styles spécialisées utilisées pour définir le traitement à leur appliquer pour un affichage en HTML. En déplaçant le processus de transformation du côté client, on réduit ainsi la charge serveur. -Actuellement, Gecko (le moteur de rendu de Mozilla et Firefox) supporte deux formats de feuilles de styles XML. Pour le contrôle basique de l'apparence -- fontes, couleurs, position, etc. -- Gecko utilise [CSS](/fr/CSS), tiré du [DHTML](/fr/DHTML). Toutes les spécifications CSS1 et la majorité des CSS2 sont supportées, le support du tout récent CSS3 est en développement. Pour plus d'information à propos de CSS, consultez le site [Eric Meyer's CSS pages](http://www.meyerweb.com/eric/css/). +Actuellement, Gecko (le moteur de rendu de Mozilla et Firefox) supporte deux formats de feuilles de styles XML. Pour le contrôle basique de l'apparence — fontes, couleurs, position, etc. — Gecko utilise [CSS](/fr/CSS), tiré du [DHTML](/fr/DHTML). Toutes les spécifications CSS1 et la majorité des CSS2 sont supportées, le support du tout récent CSS3 est en développement. Pour plus d'information à propos de CSS, consultez le site [Eric Meyer's CSS pages](http://www.meyerweb.com/eric/css/). Nous nous intéressons ici au second type de feuilles de styles supporté par Gecko : la feuille de style XSLT. XSLT signifie _eXtensible Stylesheet Language/Transform_. XSLT permet à un concepteur de feuilles de styles de transformer un document XML de départ de deux façons significatives : manipuler et réordonner le contenu (une réorganisation complète de celui-ci est possible si on le désire), et le transférer dans un autre format (dans le cas de Mozilla, on se concentre sur sa conversion à la volée en HTML pour permettre son affichage dans le navigateur). diff --git a/files/ja/glossary/code_unit/index.md b/files/ja/glossary/code_unit/index.md index 8da7d348fac23b..923769d486091e 100644 --- a/files/ja/glossary/code_unit/index.md +++ b/files/ja/glossary/code_unit/index.md @@ -2,7 +2,7 @@ title: Code unit (コードユニット) slug: Glossary/Code_unit l10n: - sourceCommit: 1e0e8f74b6e22d43be7d7e63693a1ca4016cb291 + sourceCommit: 1e0e8f74b6e22d43be7d7e63693a1ca4016cb291 --- **コードユニット** とは、文字エンコーディングシステムで用いられる UTF-8 や UTF-16 といった基本的構成要素です。文字エンコーディングシステムは Unicode {{Glossary("code point","コードポイント")}} をエンコードするためにひとつもしくは複数のコードユニットを用います。 diff --git a/files/ja/mozilla/firefox/releases/2/security_changes/index.md b/files/ja/mozilla/firefox/releases/2/security_changes/index.md index a3741dd61515fb..e31ca3972552a2 100644 --- a/files/ja/mozilla/firefox/releases/2/security_changes/index.md +++ b/files/ja/mozilla/firefox/releases/2/security_changes/index.md @@ -23,7 +23,7 @@ If SSLv2 support must be enabled, it can be by setting the appropriate `security ## Determining what ciphers are available -As always, you can find out what ciphers are supported -- and which are enabled or disabled -- by going to about:config and searching on "ssl" or "tls". +As always, you can find out what ciphers are supported — and which are enabled or disabled — by going to about:config and searching on "ssl" or "tls". ## Security improved for the jar: protocol diff --git a/files/ja/mozilla/firefox/releases/2/updating_extensions/index.md b/files/ja/mozilla/firefox/releases/2/updating_extensions/index.md index 0304c3c7e3c8a1..c919ff5bd4fb31 100644 --- a/files/ja/mozilla/firefox/releases/2/updating_extensions/index.md +++ b/files/ja/mozilla/firefox/releases/2/updating_extensions/index.md @@ -10,7 +10,7 @@ original_slug: Updating_extensions_for_Firefox_2 ## ステップ 1: インストール定義ファイルの更新 -最初のステップ -- ほとんどの拡張機能で唯一必要なこと -- は、[インストール定義](/ja/Install_Manifests)ファイル install.rdf を更新し、Firefox 2 との互換性を持たせることです。 +最初のステップ — ほとんどの拡張機能で唯一必要なこと — は、[インストール定義](/ja/Install_Manifests)ファイル install.rdf を更新し、Firefox 2 との互換性を持たせることです。 単純に、Firefox の最大互換バージョンを指示する行を探します (次のように Firefox 1.5 向けになっています)。 diff --git a/files/ja/web/api/ndefreader/scan/index.md b/files/ja/web/api/ndefreader/scan/index.md index 5130ab55885cb5..13f9b928d462bb 100644 --- a/files/ja/web/api/ndefreader/scan/index.md +++ b/files/ja/web/api/ndefreader/scan/index.md @@ -19,7 +19,7 @@ var readerPromise = NDEFReader.scan(options); - : 以下のプロパティを持つオブジェクトです。 - - `signal` -- {{DOMxRef("AbortSignal")}} で、これによってこの `scan()` 操作をキャンセルすることができます。 + - `signal` — {{DOMxRef("AbortSignal")}} で、これによってこの `scan()` 操作をキャンセルすることができます。 ### 返値 diff --git a/files/ja/web/api/ndefreader/write/index.md b/files/ja/web/api/ndefreader/write/index.md index 325a4e4e78b580..5df623aa11a01b 100644 --- a/files/ja/web/api/ndefreader/write/index.md +++ b/files/ja/web/api/ndefreader/write/index.md @@ -54,8 +54,8 @@ NDEFReader.write(message); - : 以下のプロパティを持つオブジェクトです。 - - `overwrite` -- 既存のレコードが存在した場合、上書きするかどうかを指定する論理値です。 - - `signal` -- オプションの {{DOMxRef("AbortSignal")}} で、現在の書き込み操作をキャンセルすることができます。 + - `overwrite` — 既存のレコードが存在した場合、上書きするかどうかを指定する論理値です。 + - `signal` — オプションの {{DOMxRef("AbortSignal")}} で、現在の書き込み操作をキャンセルすることができます。 ### 返値 diff --git a/files/ja/web/api/validitystate/patternmismatch/index.md b/files/ja/web/api/validitystate/patternmismatch/index.md index 258de26bce8d27..4bece38abae5ad 100644 --- a/files/ja/web/api/validitystate/patternmismatch/index.md +++ b/files/ja/web/api/validitystate/patternmismatch/index.md @@ -11,7 +11,7 @@ l10n: `patternMismatch` プロパティは、以下の条件がすべて真である場合にのみ、true となります。 -- そのフィールドが [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) 属性に対応している場合 -- つまり、 {{HTMLElement("input")}} の `type` が {{HTMLElement("input/text", "text")}}, {{HTMLElement("input/tel", "tel")}}, {{HTMLElement("input/email", "email")}}, {{HTMLElement("input/url", "url")}}, {{HTMLElement("input/password", "password")}}, {{HTMLElement("input/search", "search")}} のいずれかであった場合 +- そのフィールドが [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) 属性に対応している場合 — つまり、 {{HTMLElement("input")}} の `type` が {{HTMLElement("input/text", "text")}}, {{HTMLElement("input/tel", "tel")}}, {{HTMLElement("input/email", "email")}}, {{HTMLElement("input/url", "url")}}, {{HTMLElement("input/password", "password")}}, {{HTMLElement("input/search", "search")}} のいずれかであった場合 - [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) 属性の値が有効な正規表現に設定されていた場合 - {{HTMLElement("input")}} 値が [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) の値で設定された制約に適合していない場合 diff --git a/files/ja/web/css/css_values_and_units/index.md b/files/ja/web/css/css_values_and_units/index.md index 30f6f095e9df15..a4b956a30832b7 100644 --- a/files/ja/web/css/css_values_and_units/index.md +++ b/files/ja/web/css/css_values_and_units/index.md @@ -5,7 +5,7 @@ slug: Web/CSS/CSS_Values_and_Units {{CSSRef}} -CSS 宣言はすべて、プロパティと値の組を含みます。プロパティによって、値は単純な整数やキーワードから、一連のキーワードや単位つき・単位なしの値などを含みます。CSS プロパティには受け付けるデータ型の組み合わせ -- 値と単位 -- があります。以下ではデータ型の大部分を概観します。より詳しい情報は、それぞれのデータ型のページを参照してください。 +CSS 宣言はすべて、プロパティと値の組を含みます。プロパティによって、値は単純な整数やキーワードから、一連のキーワードや単位つき・単位なしの値などを含みます。CSS プロパティには受け付けるデータ型の組み合わせ — 値と単位 — があります。以下ではデータ型の大部分を概観します。より詳しい情報は、それぞれのデータ型のページを参照してください。 ## テキストのデータ型 @@ -170,7 +170,7 @@ CSS では、以下のものを表すために寸法を使います。 #### 時間の単位 -時間の値は {{cssxref("<time>")}} 型で表されます。時間の値を含めるときは、単位 -- the `s` か `ms` -- の指定が必要です。以下の値を受け付けます。 +時間の値は {{cssxref("<time>")}} 型で表されます。時間の値を含めるときは、単位 — the `s` か `ms` — の指定が必要です。以下の値を受け付けます。 | 単位 | 名称 | 説明 | | ---- | ------ | ------------------------ | diff --git a/files/ja/web/css/gradient/conic-gradient/index.md b/files/ja/web/css/gradient/conic-gradient/index.md index b2ca7bfbb8b64f..c0f5f7d001b7fc 100644 --- a/files/ja/web/css/gradient/conic-gradient/index.md +++ b/files/ja/web/css/gradient/conic-gradient/index.md @@ -86,7 +86,7 @@ conic-gradient(red 0deg, orange 90deg, yellow 180deg, green 270deg, blue 360deg) conic-gradient(red 40grad, 80grad, blue 360grad); ``` -2 つ以上の色経由点が同じ場所にある場合、その場所で宣言された最初の色と最後の色の間に不連続の (硬い) 色変化として表示されます。扇形グラデーションを使用して円グラフを作成するには、 -- 背景画像はアクセシビリティが確保できないため、正しい方法ではありませんが -- 隣接する 2 つの色経由点の色経由点の角度が同じである、硬い色経由点を使用します。これを実現する最も簡単な方法は、複数のポジションの色経由点を使用することです。次の 2 つの宣言は等価です。 +2 つ以上の色経由点が同じ場所にある場合、その場所で宣言された最初の色と最後の色の間に不連続の (硬い) 色変化として表示されます。扇形グラデーションを使用して円グラフを作成するには、 — 背景画像はアクセシビリティが確保できないため、正しい方法ではありませんが — 隣接する 2 つの色経由点の色経由点の角度が同じである、硬い色経由点を使用します。これを実現する最も簡単な方法は、複数のポジションの色経由点を使用することです。次の 2 つの宣言は等価です。 ```css conic-gradient(#fff 0.09turn, #bbb 0.09turn, #bbb 0.27turn, #666 0.27turn, #666 0.54turn, #000 0.54turn); diff --git a/files/ja/web/css/offset-path/index.md b/files/ja/web/css/offset-path/index.md index 1761c09af4c6b3..ba16f5049dadf6 100644 --- a/files/ja/web/css/offset-path/index.md +++ b/files/ja/web/css/offset-path/index.md @@ -43,7 +43,7 @@ offset-path: unset; - `ray()` - : 最大 3 つの値を取り、ボックスの位置から始まり、指定された角度で定義された方向に進む線分であるパスを定義します。定義は角度で、 CSS のグラデーションの角度と同様に、 `0deg` を上にして正の角度を時計回り方向に増加させます。続く寸法の値は CSS の半径方向のグラデーションの寸法の値に似ており、 `closest-side` から `farthest-corner` まで、そしてキーワード `contain` です。 - `url()` - - : SVG 図形の ID の参照です。 -- `circle`, `ellipse`, `line`, `path`, `polygon`, `polyline`, `rect` -- のいずれかで、図形の形状をパスとして使用します。 + - : SVG 図形の ID の参照です。 — `circle`, `ellipse`, `line`, `path`, `polygon`, `polyline`, `rect` — のいずれかで、図形の形状をパスとして使用します。 - `` - : [CSS シェイプ](/ja/docs/Web/CSS/CSS_Shapes/Basic_Shapes)、たとえば `circle()`, `ellipse()`, `inset()`, `polygon()`, `path()` を指定します。 diff --git a/files/ja/web/css/right/index.md b/files/ja/web/css/right/index.md index 4baa55d823a049..e2bfa2e840f66b 100644 --- a/files/ja/web/css/right/index.md +++ b/files/ja/web/css/right/index.md @@ -59,7 +59,7 @@ right: unset; - `position` が `sticky` に設定されている場合、 `right` プロパティは要素がビューポート内にある場合は `position` が `relative` であるかのように、外の場合は `position` が `fixed` の場合と同様に動作します。 - `position` が `static` に設定されている場合、 `right` プロパティは*効果がありません*。 -{{cssxref("left")}} と `right` の両方が定義された場合、他のプロパティで制約されていなければ、要素は両方を満たすように引き伸ばされます。もし要素が両方を満たすように伸びることができない場合 -- 例えば `width` が宣言されている場合 -- 要素の位置は*過剰制約*になります。このような場合、コンテナーが左書きの場合は `left` の値が優先され、コンテナーが右書きの場合は `right` の値が優先されます。 +{{cssxref("left")}} と `right` の両方が定義された場合、他のプロパティで制約されていなければ、要素は両方を満たすように引き伸ばされます。もし要素が両方を満たすように伸びることができない場合 — 例えば `width` が宣言されている場合 — 要素の位置は*過剰制約*になります。このような場合、コンテナーが左書きの場合は `left` の値が優先され、コンテナーが右書きの場合は `right` の値が優先されます。 ## 公式定義 diff --git a/files/ja/web/css/url/index.md b/files/ja/web/css/url/index.md index 26206c3ff2aa95..28de722da64e57 100644 --- a/files/ja/web/css/url/index.md +++ b/files/ja/web/css/url/index.md @@ -77,7 +77,7 @@ content: url(star.svg) url(star.svg) url(star.svg) url(star.svg) url(star.svg); URL を引用符なしで書く場合は、バックスラッシュを (`\`) を URL に含まれる括弧、ホワイトスペース文字、単一引用符 (`'`)、二重引用符 (`"`) の前に使用してください。 - パス - - : [SVG 図形](/ja/docs/Web/SVG/Tutorial/Basic_Shapes)の ID への参照 -- `circle`, `ellipse`, `line`, `path`, `polygon`, `polyline`, `rect` -- パスとして図形の形状を使用します。 + - : [SVG 図形](/ja/docs/Web/SVG/Tutorial/Basic_Shapes)の ID への参照 — `circle`, `ellipse`, `line`, `path`, `polygon`, `polyline`, `rect` — パスとして図形の形状を使用します。 - `` {{Experimental_Inline}} - : 将来的に `url()` 関数は、URL 文字列の意味を変更する修飾子、識別子、関数記法の指定に対応するかもしれません。これはまだ対応されておらず、仕様書では完全には定義されていません。 diff --git a/files/ja/web/html/attributes/required/index.md b/files/ja/web/html/attributes/required/index.md index 4fc4c9fedfa84c..348c1e958b92f5 100644 --- a/files/ja/web/html/attributes/required/index.md +++ b/files/ja/web/html/attributes/required/index.md @@ -9,7 +9,7 @@ slug: Web/HTML/Attributes/required この属性は {{HTMLElement("input/range","range")}} と {{HTMLElement("input/color","color")}} は対応していませんし、どちらも既定値を持っているので関係がありません。 {{HTMLElement("input/hidden","hidden")}} は、非表示のフォームにユーザーが記入することを期待できないため、対応していません。また、 `image` を含むボタンの種類もいずれも対応していません。 -なお、 `color` と `range` は `required` に対応していませんが、 `color` 型は既定値が `#000000` であり、 `range` は、 `min` と `max` の中間点が既定値です。 -- 宣言されていない場合、ほとんどのブラウザーでは `min` と `max` の既定値はそれぞれ 0 と 100 です。 -- 従って、常に値があります。 +なお、 `color` と `range` は `required` に対応していませんが、 `color` 型は既定値が `#000000` であり、 `range` は、 `min` と `max` の中間点が既定値です。 — 宣言されていない場合、ほとんどのブラウザーでは `min` と `max` の既定値はそれぞれ 0 と 100 です。 — 従って、常に値があります。 入力欄に `required` 属性がある場合、 {{cssxref(":required")}} 擬似クラスも適用されます。逆に、 `required` 属性に対応していて、この属性が設定されていない入力欄は、 {{cssxref(":optional")}} 擬似クラスに一致します。 diff --git a/files/ja/web/http/headers/user-agent/index.md b/files/ja/web/http/headers/user-agent/index.md index ac92de828d442d..a28f497ce7a466 100644 --- a/files/ja/web/http/headers/user-agent/index.md +++ b/files/ja/web/http/headers/user-agent/index.md @@ -126,7 +126,7 @@ Googlebot/2.1 (+http://www.google.com/bot.html) | 仕様書 | 題名 | | ------------------------------------------------ | ------------------------------------------------------------- | | {{RFC(7231, "User-Agent", "5.5.3")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | -| {{RFC(2616, "User-Agent", "14.43")}} | Hypertext Transfer Protocol -- HTTP/1.1 | +| {{RFC(2616, "User-Agent", "14.43")}} | Hypertext Transfer Protocol — HTTP/1.1 | ## ブラウザーの互換性 diff --git a/files/ja/web/javascript/reference/global_objects/error/error/index.md b/files/ja/web/javascript/reference/global_objects/error/error/index.md index 1128c1480fa105..550d941b5e23ac 100644 --- a/files/ja/web/javascript/reference/global_objects/error/error/index.md +++ b/files/ja/web/javascript/reference/global_objects/error/error/index.md @@ -26,7 +26,7 @@ new Error([message[, fileName[, lineNumber]]]) ### 関数呼び出しか new による構築か -`Error` が関数のように使用された場合 -- {{JSxRef("Operators/new", "new")}} がなかった場合、 `Error` オブジェクトを返します。したがって、 `Error` を呼び出すだけで `Error` オブジェクトを `new` キーワードから構築した場合と同じものを出力します。 +`Error` が関数のように使用された場合 — {{JSxRef("Operators/new", "new")}} がなかった場合、 `Error` オブジェクトを返します。したがって、 `Error` を呼び出すだけで `Error` オブジェクトを `new` キーワードから構築した場合と同じものを出力します。 ```js // これは... diff --git a/files/ja/web/javascript/reference/global_objects/object/create/index.md b/files/ja/web/javascript/reference/global_objects/object/create/index.md index 94184d22931b25..a286014b38484d 100644 --- a/files/ja/web/javascript/reference/global_objects/object/create/index.md +++ b/files/ja/web/javascript/reference/global_objects/object/create/index.md @@ -106,7 +106,7 @@ ob={}; ob.po=oco; ob.pn=ocn; // 上記のテストオブジェクトをプロパ 最初のプロパティのみが表示されることに注意してください。 ``` -_(しかし、同じオブジェクトが単に順番が違うだけで作成されている場合 -- 少なくともいくつかの実装では...)_ +_(しかし、同じオブジェクトが単に順番が違うだけで作成されている場合 — 少なくともいくつかの実装では...)_ ```js ob={}; ob.pn=ocn; ob.po=oco; // 同じ複合オブジェクトを再度作成しますが、同じプロパティを異なる順序で作成します。 diff --git a/files/ko/mozilla/firefox/releases/3/index.md b/files/ko/mozilla/firefox/releases/3/index.md index 034abdd696e03e..8aecd64e2d6936 100644 --- a/files/ko/mozilla/firefox/releases/3/index.md +++ b/files/ko/mozilla/firefox/releases/3/index.md @@ -144,7 +144,7 @@ If you're a developer trying to get a handle on all the new features in Firefox - **Simplified add-on installation.** You can now install extensions from third-party download sites in fewer clicks, thanks to the removal of the add-on download site whitelist. - **New Download Manager.** The download manager makes it easier to locate your downloaded files. - **Resumable downloads.** You can now resume downloads after restarting the browser or resetting your network connection. -- **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages -- this scales not just the text but the layout and images as well. +- **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages — this scales not just the text but the layout and images as well. - **Tab scrolling and quickmenu.** Tabs are easier to locate with the new tab scrolling and tab quickmenu features. - **Save what you were doing.** Firefox 3 prompts you to see if you'd like to save your current tabs when you exit Firefox. - **Optimized Open in Tabs behavior.** Opening a folder of bookmarks in tabs now appends the new tabs instead of replacing the existing ones. diff --git a/files/ko/web/api/node/insertbefore/index.md b/files/ko/web/api/node/insertbefore/index.md index 655d6e53fbd75c..9b607f16adf9d6 100644 --- a/files/ko/web/api/node/insertbefore/index.md +++ b/files/ko/web/api/node/insertbefore/index.md @@ -20,7 +20,7 @@ var insertedNode = parentNode.insertBefore(newNode, referenceNode); `referenceNode` 가 `null` 이라면, `newNode` 가 자식 노드의 리스트의 끝에 삽입됩니다. -> **참고:** _`referenceNode`_ 는 **선택 인자가 아닙니다.** -- 명시적으로 `Node` 나 `null` 를 전달해야 합니다. 전달하지 않거나 잘못된 값을 전달하면 브라우저 버전에 따라 다른 결과를 얻게 됩니다. +> **참고:** _`referenceNode`_ 는 **선택 인자가 아닙니다.** — 명시적으로 `Node` 나 `null` 를 전달해야 합니다. 전달하지 않거나 잘못된 값을 전달하면 브라우저 버전에 따라 다른 결과를 얻게 됩니다. ## Returns diff --git a/files/ko/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md b/files/ko/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md index 42ef9b00004981..79a144b15ba0c5 100644 --- a/files/ko/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md +++ b/files/ko/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md @@ -152,7 +152,7 @@ if (request.status === 200) { Line 3 sends the request. The `null` parameter indicates that no body content is needed for the `GET` request. -Line 5 checks the status code after the transaction is completed. If the result is 200 -- HTTP's "OK" result -- the document's text content is output to the console. +Line 5 checks the status code after the transaction is completed. If the result is 200 — HTTP's "OK" result — the document's text content is output to the console. ### Example: Synchronous HTTP request from a `Worker` diff --git a/files/ko/web/css/css_lists/consistent_list_indentation/index.md b/files/ko/web/css/css_lists/consistent_list_indentation/index.md index e1a1ee1973c6ac..ee9761092ad348 100644 --- a/files/ko/web/css/css_lists/consistent_list_indentation/index.md +++ b/files/ko/web/css/css_lists/consistent_list_indentation/index.md @@ -78,7 +78,7 @@ ul {margin-left: 40px; padding-left: 0;} 라고 쓰면 됩니다. -물론, 자기 자신이 선호하는 값을 써 넣을 수도 있습니다. 원한다면 둘다 `1.25em`로 정해 줄 수도 있습니다 -- 픽셀에 기반한 들여쓰기에만 묶여있을 이유는 없습니다. 만일 리스트들이 들여쓰기를 하지 않도록 리셋하고 싶으면, 패딩과 마진 값을 0으로 정해 주어야만 합니다. +물론, 자기 자신이 선호하는 값을 써 넣을 수도 있습니다. 원한다면 둘다 `1.25em`로 정해 줄 수도 있습니다 — 픽셀에 기반한 들여쓰기에만 묶여있을 이유는 없습니다. 만일 리스트들이 들여쓰기를 하지 않도록 리셋하고 싶으면, 패딩과 마진 값을 0으로 정해 주어야만 합니다. ``` ul {margin-left: 0; padding-left: 0;} diff --git a/files/ko/web/html/element/input/index.md b/files/ko/web/html/element/input/index.md index 594278f5a44c7c..416df7d1b68175 100644 --- a/files/ko/web/html/element/input/index.md +++ b/files/ko/web/html/element/input/index.md @@ -593,7 +593,7 @@ When this code has run, `guestName` will be the {{domxref("HTMLInputElement")}} - : Valid for the numeric input types, including `number`, date/time input types, and `range`, the [`step`](/ko/docs/Web/HTML/Attributes/step) attribute is a number that specifies the granularity that the value must adhere to. - If not explicitly included, `step` defaults to 1 for `number` and `range`, and 1 unit type (second, week, month, day) for the date/time input types. The value can must be a positive number - integer or float -- or the special value `any`, which means no stepping is implied, and any value is allowed (barring other constraints, such as [`min`](#min) and [`max`](#max)). + If not explicitly included, `step` defaults to 1 for `number` and `range`, and 1 unit type (second, week, month, day) for the date/time input types. The value can must be a positive number - integer or float — or the special value `any`, which means no stepping is implied, and any value is allowed (barring other constraints, such as [`min`](#min) and [`max`](#max)). If `any` is not explicity set, valid values for the `number`, date/time input types, and `range` input types are equal to the basis for stepping - the [`min`](#min) value and increments of the step value, up to the [`max`](#max) value, if specified. For example, if we have `` any even integer, 10 or great, is valid. If omitted, ``, any integer is valid, but floats, like 4.2, are not valid, as `step` defaults to 1. For 4.2 to be valid, `step` would have had to be set to `any`, 0.1, 0.2, or any the min value would have had to be a number ending in .2, such as `` diff --git a/files/ko/web/javascript/equality_comparisons_and_sameness/index.md b/files/ko/web/javascript/equality_comparisons_and_sameness/index.md index ff7c2b8bf88e46..7ffa76ae97eab4 100644 --- a/files/ko/web/javascript/equality_comparisons_and_sameness/index.md +++ b/files/ko/web/javascript/equality_comparisons_and_sameness/index.md @@ -48,7 +48,7 @@ console.log(obj === null); // false console.log(obj === undefined); // false ``` -엄격한 같음은 거의 항상 사용하는 올바른 비교 연산입니다. 숫자를 뺀 모든 값에 대해, 분명한 의미(semantics)를 사용합니다: 값은 그 자체와만 같습니다(/ 단지 그 자체입니다). 숫자는 서로 다른 두 극단 상황(edge case)을 얼버무리기(gloss over) 위해 약간 다른 의미를 사용합니다. 첫째는 부동 소수점 0은 양이든 음이든 하나의 부호를 지닙니다. 이는 특정 수학상의 해결책을 나타내는 데 유용하지만, 대부분의 상황에 `+0`과 `-0`의 차이에 신경쓰지 않기에, 엄격한 같음은 둘을 같은 값으로 다룹니다. 둘째는 부동 소수점은 not-a-number 값(`NaN`) 개념을 포함합니다, 특정 잘못 정의된(ill-defined) 수학 문제의 해결책을 보여주기 위해: 예를 들어, 양의 무한대(infinity)에 추가된 음의 무한대. 엄격한 같음은 `NaN`을 다른 모든 값과 같지 않게 다룹니다 -- 자신 포함. (`(x !== x)`가 `true`인 유일한 경우는 `x`가 `NaN`일 때입니다.) +엄격한 같음은 거의 항상 사용하는 올바른 비교 연산입니다. 숫자를 뺀 모든 값에 대해, 분명한 의미(semantics)를 사용합니다: 값은 그 자체와만 같습니다(/ 단지 그 자체입니다). 숫자는 서로 다른 두 극단 상황(edge case)을 얼버무리기(gloss over) 위해 약간 다른 의미를 사용합니다. 첫째는 부동 소수점 0은 양이든 음이든 하나의 부호를 지닙니다. 이는 특정 수학상의 해결책을 나타내는 데 유용하지만, 대부분의 상황에 `+0`과 `-0`의 차이에 신경쓰지 않기에, 엄격한 같음은 둘을 같은 값으로 다룹니다. 둘째는 부동 소수점은 not-a-number 값(`NaN`) 개념을 포함합니다, 특정 잘못 정의된(ill-defined) 수학 문제의 해결책을 보여주기 위해: 예를 들어, 양의 무한대(infinity)에 추가된 음의 무한대. 엄격한 같음은 `NaN`을 다른 모든 값과 같지 않게 다룹니다 — 자신 포함. (`(x !== x)`가 `true`인 유일한 경우는 `x`가 `NaN`일 때입니다.) ## ==를 사용하는 느슨한 같음 diff --git a/files/ko/web/javascript/reference/statements/function_star_/index.md b/files/ko/web/javascript/reference/statements/function_star_/index.md index e522ed5b19030f..1185f761348b60 100644 --- a/files/ko/web/javascript/reference/statements/function_star_/index.md +++ b/files/ko/web/javascript/reference/statements/function_star_/index.md @@ -125,6 +125,6 @@ gen.next('mayonnaise'); // mayonnaise - Other web resources: - [Regenerator](http://facebook.github.io/regenerator/) an ES2015 generator compiler to ES5 - - [Forbes Lindesay: Promises and Generators: control flow utopia -- JSConf EU 2013](http://www.youtube.com/watch?v=qbKWsbJ76-s) + - [Forbes Lindesay: Promises and Generators: control flow utopia — JSConf EU 2013](http://www.youtube.com/watch?v=qbKWsbJ76-s) - [Hemanth.HM: The New gen of \*gen(){}](https://www.youtube.com/watch?v=ZrgEZykBHVo&list=PLuoyIZT5fPlG44bPq50Wgh0INxykdrYX7&index=1) - [Task.js](http://taskjs.org/) diff --git a/files/ko/web/javascript/reference/statements/with/index.md b/files/ko/web/javascript/reference/statements/with/index.md index 7eb7c0f59356f4..9a29b3c2bce775 100644 --- a/files/ko/web/javascript/reference/statements/with/index.md +++ b/files/ko/web/javascript/reference/statements/with/index.md @@ -45,7 +45,7 @@ function f(x, o) { } ``` -Only when `f` is called is `x` either found or not, and if found, either in `o` or (if no such property exists) in `f`'s activation object, where `x` names the first formal argument. If you forget to define `x` in the object you pass as the second argument, or if there's some similar bug or confusion, you won't get an error -- just unexpected results. +Only when `f` is called is `x` either found or not, and if found, either in `o` or (if no such property exists) in `f`'s activation object, where `x` names the first formal argument. If you forget to define `x` in the object you pass as the second argument, or if there's some similar bug or confusion, you won't get an error — just unexpected results. **Contra:** Code using `with` may not be forward compatible, especially when used with something other than a plain object. Consider this example: diff --git a/files/pt-br/games/introduction/index.md b/files/pt-br/games/introduction/index.md index 189eace8040cba..7838ef679ba600 100644 --- a/files/pt-br/games/introduction/index.md +++ b/files/pt-br/games/introduction/index.md @@ -31,7 +31,7 @@ Como desenvolvedor de jogos, seja individual ou um grande estúdio de jogos, voc 2. O marketing e a descoberta são melhorados. Você não está limitado a promover o seu aplicativo na loja de aplicativos de outra pessoa. Em vez disso, você pode anunciar e promover o seu jogo em toda a Web, bem como outros meios de comunicação, aproveitando a capacidade de compartilhamento inerente e compartilhamento da Web para alcançar novos clientes. 3. Você tem controle onde isso importa: Pagamentos. Você não precisa entregar mais de 30% de suas receitas para outra pessoa apenas porque seu jogo está em seu ecossistema. Em vez disso, carregue o que deseja e use qualquer serviço de processamento de pagamento que você gosta. 4. Novamente com mais controle, você pode atualizar seu jogo sempre que quiser. Não espera sem fôlego para aprovação, enquanto alguém escondido em outra empresa decide se a sua correção crítica de erros será ou não enviada hoje ou amanhã. -5. Controle suas análises! Em vez de confiar em outra pessoa para tomar todas as decisões sobre o que você precisa, você pode coletar o seu próprio -- ou escolha o terceiro que você gosta do melhor -- para coletar informações sobre suas vendas e o alcance do seu jogo. +5. Controle suas análises! Em vez de confiar em outra pessoa para tomar todas as decisões sobre o que você precisa, você pode coletar o seu próprio — ou escolha o terceiro que você gosta do melhor — para coletar informações sobre suas vendas e o alcance do seu jogo. 6. Você consegue gerenciar seu relacionamento com o cliente de forma mais próxima, à sua maneira. Não há mais comentários do cliente filtrados através dos mecanismos limitados de uma loja de aplicativos. Participe com seus clientes da maneira que você quiser, sem intermediário. 7. Seus jogadores podem jogar seu jogo em qualquer lugar, a qualquer hora. Como a Web é onipresente, seus clientes podem verificar o status do seu jogo em seus telefones, tablets, laptops domésticos, desktops de trabalho ou qualquer outra coisa. diff --git a/files/pt-br/learn/html/howto/author_fast-loading_html_pages/index.md b/files/pt-br/learn/html/howto/author_fast-loading_html_pages/index.md index e1a21895e08402..164e0337acb91d 100644 --- a/files/pt-br/learn/html/howto/author_fast-loading_html_pages/index.md +++ b/files/pt-br/learn/html/howto/author_fast-loading_html_pages/index.md @@ -64,7 +64,7 @@ Scripts _inline_ podem ser custosos para o carregamento, uma vez que o parser de ### Use CSS moderno e marcação validada -O uso de CSS moderno reduz a quantidade de marcação, pode reduzir a necessidade de imagens, em termos de layout, e frequentemente substitui imagens de textos estilizados -- que "custam" muito mais do que o texto estilizado com CSS. +O uso de CSS moderno reduz a quantidade de marcação, pode reduzir a necessidade de imagens, em termos de layout, e frequentemente substitui imagens de textos estilizados — que "custam" muito mais do que o texto estilizado com CSS. Usar marcações validadas tem outras vantagens. Primeiro, _browsers_ não precisarão realizar correção de erros durante o _parsing_ de HTML (isso é à parte da preocupação filosófica de permitir variação de formato na entrada do usuário, e então programaticamente "corrigir" ou normalizá-la; ou se, ao invés disso, forçar um formato de entrada rígido, sem tolerância a desvios). diff --git a/files/pt-br/learn/server-side/django/models/index.md b/files/pt-br/learn/server-side/django/models/index.md index 112078648cbc2b..774686f87f62bb 100644 --- a/files/pt-br/learn/server-side/django/models/index.md +++ b/files/pt-br/learn/server-side/django/models/index.md @@ -92,7 +92,7 @@ Nas seções abaixa, exploraremos detalhadamente cada um dos recursos dentro do #### Campos (Fields) -Um modelo pode ter um número árbitrário de campos, de qualquer tipo -- cada um representa uma coluna de dados que queremos armazenar em uma de nossas tabelas de banco de dados. Cada registro do banco de dados (row - linha) consitirá em um valor de cada campo. Vamos ver o exemplo visto acima: +Um modelo pode ter um número árbitrário de campos, de qualquer tipo — cada um representa uma coluna de dados que queremos armazenar em uma de nossas tabelas de banco de dados. Cada registro do banco de dados (row - linha) consitirá em um valor de cada campo. Vamos ver o exemplo visto acima: ```js my_field_name = models.CharField(max_length=20, help_text='Enter field documentation') diff --git a/files/pt-br/learn/server-side/express_nodejs/introduction/index.md b/files/pt-br/learn/server-side/express_nodejs/introduction/index.md index a6d564bc7850b2..62fa27e9849522 100644 --- a/files/pt-br/learn/server-side/express_nodejs/introduction/index.md +++ b/files/pt-br/learn/server-side/express_nodejs/introduction/index.md @@ -52,7 +52,7 @@ Você pode utilizar o Node.js para criar um simples servidor web, utilizando o p ### Olá, Node.js -O exemplo a seguir cria um servidor web que escuta qualquer tipo de requisição HTTP na URL `http://127.0.0.1:8000/` -- quando uma requisição é recebida, o script vai responder com a string (texto) "Olá Mundo". Se você já instalou o Node, você pode seguir os passos seguintes deste exemplo. +O exemplo a seguir cria um servidor web que escuta qualquer tipo de requisição HTTP na URL `http://127.0.0.1:8000/` — quando uma requisição é recebida, o script vai responder com a string (texto) "Olá Mundo". Se você já instalou o Node, você pode seguir os passos seguintes deste exemplo. 1. Abre o Terminal (no Windows, abra o prompt da linha de comando) 2. Crie uma pasta onde você quer salvar o programa, por exemplo, `test-node`. Então, entre na pasta com o seguinte comando no terminal: diff --git a/files/pt-br/mdn/writing_guidelines/index.md b/files/pt-br/mdn/writing_guidelines/index.md index 331fb9383cae11..9d30359bee2323 100644 --- a/files/pt-br/mdn/writing_guidelines/index.md +++ b/files/pt-br/mdn/writing_guidelines/index.md @@ -60,7 +60,7 @@ Os direitos das marcas, logos, marcas de serviço da Mozilla Foundation, bem com Você pode baixar o conteúdo de uma página individual na MDN adicionando [document parameters](/pt-BR/docs/Project:MDN/Kuma/API#Document_parameters) à URL para especificar qual formato deseja. -Se você quiser baixar um dump SQL completo e anonimizado da base de dados da MDN -- isto é, uma cópia da base de dados com todas as informações privadas de usuários removidas, nós também fornecemos isso. Esse dump é atualizado no primeiro dia de todo mês. +Se você quiser baixar um dump SQL completo e anonimizado da base de dados da MDN — isto é, uma cópia da base de dados com todas as informações privadas de usuários removidas, nós também fornecemos isso. Esse dump é atualizado no primeiro dia de todo mês. Existem três arquivos que compreendem o dump mensal anonimizado da MDN: diff --git a/files/pt-br/mozilla/firefox/releases/3/index.md b/files/pt-br/mozilla/firefox/releases/3/index.md index 28a21fd4701573..83ffdca0d50fa2 100644 --- a/files/pt-br/mozilla/firefox/releases/3/index.md +++ b/files/pt-br/mozilla/firefox/releases/3/index.md @@ -109,7 +109,7 @@ If you're a developer trying to get a handle on all the new features in Firefox - **Simplified add-on installation.** You can now install extensions from third-party download sites in fewer clicks, thanks to the removal of the add-on download site whitelist. - **New Download Manager.** The download manager makes it easier to locate your downloaded files. - **Resumable downloads.** You can now resume downloads after restarting the browser or resetting your network connection. -- **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages -- this scales not just the text but the layout and images as well. +- **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages — this scales not just the text but the layout and images as well. - **Tab scrolling and quickmenu.** Tabs are easier to locate with the new tab scrolling and tab quickmenu features. - **Save what you were doing.** Firefox 3 prompts you to see if you'd like to save your current tabs when you exit Firefox. - **Optimized Open in Tabs behavior.** Opening a folder of bookmarks in tabs now appends the new tabs instead of replacing the existing ones. diff --git a/files/pt-br/web/accessibility/aria/index.md b/files/pt-br/web/accessibility/aria/index.md index 74f679bd73f7c9..be71439b844827 100644 --- a/files/pt-br/web/accessibility/aria/index.md +++ b/files/pt-br/web/accessibility/aria/index.md @@ -47,7 +47,7 @@ O conjunto ARIA pode ser implementado nos navegadores mais populares e em leitor - [A Técnica na Execução de _Widgets_, Tutoriais e Exemplos](/pt-BR/docs/Accessibility/ARIA/widgets/overview) - : Precisa de um controle dezlizante, um menu, ou algum outro tipo de _widget_? Encontre, aqui, as maneiras de obtê-los. - [Bibliotecas JavaScript UI com ARIA habilitada](http://www.paciellogroup.com/blog/2009/07/wai-aria-implementation-in-javascript-ui-libraries/) - - : Se você está começando um projeto novo, escolha uma biblioteca UI para _widget_ com suporte a ARIA já embutido. Atenção: isto é de 2009 -- este conteúdo deve ser movido para uma página MDN, onde pode ser atualizado. + - : Se você está começando um projeto novo, escolha uma biblioteca UI para _widget_ com suporte a ARIA já embutido. Atenção: isto é de 2009 — este conteúdo deve ser movido para uma página MDN, onde pode ser atualizado. - [Acessibilidade em HTML5 e Aplicações Ricas - Materiais de Oficina CSUN 2012](http://dl.dropbox.com/u/573324/CSUN2012/index.html) - : Inclua apresentações de eslaides e exemplos. diff --git a/files/pt-br/web/api/history_api/index.md b/files/pt-br/web/api/history_api/index.md index dcb5b32971497a..b1ab8e9ed66227 100644 --- a/files/pt-br/web/api/history_api/index.md +++ b/files/pt-br/web/api/history_api/index.md @@ -3,7 +3,7 @@ title: Manipulando o histórico do navegador slug: Web/API/History_API --- -O objeto DOM {{ domxref("window") }} fornece acesso ao histórico do navegador através do objeto {{ domxref("window.history", "history") }}. Ele expõe métodos e propriedades úteis que permitem que você se mova para trás e para frente através do histórico de navegação do usuário, bem como -- iniciando com o HTML5 -- manipular o conteúdo da pilha de históricos. +O objeto DOM {{ domxref("window") }} fornece acesso ao histórico do navegador através do objeto {{ domxref("window.history", "history") }}. Ele expõe métodos e propriedades úteis que permitem que você se mova para trás e para frente através do histórico de navegação do usuário, bem como — iniciando com o HTML5 — manipular o conteúdo da pilha de históricos. ## Navegando através do histórico diff --git a/files/pt-br/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.md b/files/pt-br/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.md index 4c3df66cd3a939..e3f9eca7218336 100644 --- a/files/pt-br/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.md +++ b/files/pt-br/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.md @@ -141,7 +141,7 @@ A vértice (vertex) do shader define a posição e a forma de cada vértice. ## Criando um objeto -Before we can render our square, we need to create the buffer that contains its vertices. We'll do that using a function we call `initBuffers()`; as we explore more advanced WebGL concepts, this routine will be augmented to create more -- and more complex -- 3D objects. +Before we can render our square, we need to create the buffer that contains its vertices. We'll do that using a function we call `initBuffers()`; as we explore more advanced WebGL concepts, this routine will be augmented to create more — and more complex — 3D objects. ```js var horizAspect = 480.0/640.0; diff --git a/files/pt-br/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md b/files/pt-br/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md index 9d235b9f22f508..a5ff321335e1a7 100644 --- a/files/pt-br/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md +++ b/files/pt-br/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md @@ -154,7 +154,7 @@ if (request.status === 200) { Line 3 sends the request. The `null` parameter indicates that no body content is needed for the `GET` request. -Line 5 checks the status code after the transaction is completed. If the result is 200 -- HTTP's "OK" result -- the document's text content is output to the console. +Line 5 checks the status code after the transaction is completed. If the result is 200 — HTTP's "OK" result — the document's text content is output to the console. ### Example: Synchronous HTTP request from a `Worker` diff --git a/files/pt-br/web/css/css_animations/using_css_animations/index.md b/files/pt-br/web/css/css_animations/using_css_animations/index.md index 5adf424cd37967..3f76b4204dcc9c 100644 --- a/files/pt-br/web/css/css_animations/using_css_animations/index.md +++ b/files/pt-br/web/css/css_animations/using_css_animations/index.md @@ -214,7 +214,7 @@ ela com uma voz lânguida e sonolenta. ### Usando eventos de animação -Você pode ter controle adicional sobre animações -- como também informações úteis sobre elas -- através do uso de eventos de animação. Esses eventos, representados pelo objeto {{ domxref("event/AnimationEvent", "AnimationEvent") }} , podem ser usados para detectar quando animações iniciam, terminam, e começam uma nova iteração. Cada evento inclui o tempo no qual ele ocorreu como também o nome da animação que lançou o evento. +Você pode ter controle adicional sobre animações — como também informações úteis sobre elas — através do uso de eventos de animação. Esses eventos, representados pelo objeto {{ domxref("event/AnimationEvent", "AnimationEvent") }} , podem ser usados para detectar quando animações iniciam, terminam, e começam uma nova iteração. Cada evento inclui o tempo no qual ele ocorreu como também o nome da animação que lançou o evento. Nós vamos modificar o exemplo de deslizamento de texto para gerar alguma informação sobre cada evento de animação quando ele ocorrer, para que possamos perceber como eles funcionam. diff --git a/files/pt-br/web/http/headers/user-agent/index.md b/files/pt-br/web/http/headers/user-agent/index.md index acf4e0e486a88f..fafd5752ddfe5e 100644 --- a/files/pt-br/web/http/headers/user-agent/index.md +++ b/files/pt-br/web/http/headers/user-agent/index.md @@ -122,7 +122,7 @@ Googlebot/2.1 (+http://www.google.com/bot.html) | Especificação | Título | | ------------------------------------------------ | ------------------------------------------------------------- | | {{RFC(7231, "User-Agent", "5.5.3")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | -| {{RFC(2616, "User-Agent", "14.43")}} | Hypertext Transfer Protocol -- HTTP/1.1 | +| {{RFC(2616, "User-Agent", "14.43")}} | Hypertext Transfer Protocol — HTTP/1.1 | ## Compatibilidade com navegadores diff --git a/files/pt-br/web/javascript/reference/global_objects/string/substring/index.md b/files/pt-br/web/javascript/reference/global_objects/string/substring/index.md index dc3cb9517c8ba0..76ee363f4fd441 100644 --- a/files/pt-br/web/javascript/reference/global_objects/string/substring/index.md +++ b/files/pt-br/web/javascript/reference/global_objects/string/substring/index.md @@ -138,7 +138,7 @@ function replaceString(oldS, newS, fullS) { replaceString("World", "Web", "Brave New World"); ``` -Note que isto pode resultar em um loop infinito se `oldS` for um substring de `newS` -- por exemplo, se você tentou substituir "`World`" com "`OtherWorld`". O melhor método para substituir strings é o seguinte: +Note que isto pode resultar em um loop infinito se `oldS` for um substring de `newS` — por exemplo, se você tentou substituir "`World`" com "`OtherWorld`". O melhor método para substituir strings é o seguinte: ```js function replaceString(oldS, newS,fullS){ diff --git a/files/pt-br/web/javascript/reference/statements/function_star_/index.md b/files/pt-br/web/javascript/reference/statements/function_star_/index.md index 91e25ea8a43faa..0cb38e307636d3 100644 --- a/files/pt-br/web/javascript/reference/statements/function_star_/index.md +++ b/files/pt-br/web/javascript/reference/statements/function_star_/index.md @@ -30,11 +30,11 @@ function* name([param[, param[, ... param]]]) { Geradores são funções cuja execução pode ser interrompida e posteriormente reconduzida. Seus contextos (de associações de variáveis) ficarão salvos entre cada recondução. -Geradores em JavaScript -- especialmente quando combinados com _Promises_ -- são uma ferramenta muito poderosa para programação assíncrona, por mitigarem -- se não eliminarem -- problemas com callbacks, como o [Callback Hell](http://callbackhell.com/) e [Inversão de Controle](https://frontendmasters.com/courses/rethinking-async-js/callback-problems-inversion-of-control/). Funções [`async`](/pt-BR/docs/Web/JavaScript/Reference/Statements/async_function) são fundamentadas nisso. +Geradores em JavaScript — especialmente quando combinados com _Promises_ — são uma ferramenta muito poderosa para programação assíncrona, por mitigarem — se não eliminarem — problemas com callbacks, como o [Callback Hell](http://callbackhell.com/) e [Inversão de Controle](https://frontendmasters.com/courses/rethinking-async-js/callback-problems-inversion-of-control/). Funções [`async`](/pt-BR/docs/Web/JavaScript/Reference/Statements/async_function) são fundamentadas nisso. Chamar uma função geradora não executa seu conteúdo imediatamente; ao invés disso um objeto _[iterator](/pt-BR/docs/Web/JavaScript/Guide/The_Iterator_protocol)_ é retornado. Quando o método `next()` do objeto _iterator_ é chamado, o conteúdo da função do gerador é executado até a primeira expressão {{jsxref("Operators/yield", "yield")}}, que especifica o valor a ser devolvido do _iterator_ ou com {{jsxref("Operators/yield*", "yield*")}} que delega para outra função geradora. O método `next()` retorna um objeto com uma propriedade `value` contendo o valor retornado e a propriedade _boolean_: `done` indicando se o gerador produziu seu último valor. Chamar o método `next()` com um argumento resumirá a execução da função geradora, substituindo a expressão `yield` onde a execução foi pausada com o argumento de `next()`. -Uma expressão `return` em um gerador, quando executada, fará com que o gerador termine (isto é, a propriedade `done` do objeto retornado será atribuído com o valor `true`). Se um valor foi retornado, este será usado como propriedade `value` do objeto retornado pelo gerador. Semelhantemente a uma expressão `return`, um erro lançado dentro do gerador o terminará -- a não ser que tratado no corpo do gerador. Quando um gerador estiver terminado, chamadas `next` subsequentes não executarão nenhum código do gerador, retornarão simplesmente um objeto da seguinte forma: `{value: undefined, done: true}`. +Uma expressão `return` em um gerador, quando executada, fará com que o gerador termine (isto é, a propriedade `done` do objeto retornado será atribuído com o valor `true`). Se um valor foi retornado, este será usado como propriedade `value` do objeto retornado pelo gerador. Semelhantemente a uma expressão `return`, um erro lançado dentro do gerador o terminará — a não ser que tratado no corpo do gerador. Quando um gerador estiver terminado, chamadas `next` subsequentes não executarão nenhum código do gerador, retornarão simplesmente um objeto da seguinte forma: `{value: undefined, done: true}`. ## Exemplos @@ -170,6 +170,6 @@ Iniciando com Gecko 29, o _generator_ finalizado não lança mais um {{jsxref("T - Outras fontes na web: - [Regenerator](http://facebook.github.io/regenerator/) um ES6 generator que compila para ES5 - - [Forbes Lindesay: Promises and Generators: control flow utopia -- JSConf EU 2013](http://www.youtube.com/watch?v=qbKWsbJ76-s) + - [Forbes Lindesay: Promises and Generators: control flow utopia — JSConf EU 2013](http://www.youtube.com/watch?v=qbKWsbJ76-s) - [Hemanth.HM: The New gen of \*gen(){}](https://www.youtube.com/watch?v=ZrgEZykBHVo&list=PLuoyIZT5fPlG44bPq50Wgh0INxykdrYX7&index=1) - [Task.js](http://taskjs.org/) diff --git a/files/pt-br/web/javascript/reference/statements/with/index.md b/files/pt-br/web/javascript/reference/statements/with/index.md index 137209c046b328..331a05bb507cef 100644 --- a/files/pt-br/web/javascript/reference/statements/with/index.md +++ b/files/pt-br/web/javascript/reference/statements/with/index.md @@ -45,7 +45,7 @@ function f(x, o) { } ``` -Apenas quando `f` é chamado é `x` ou encontrado ou não, e se for encontrado, ou em `o` ou (se nenhuma propriedade existir) no objeto de ativação de `f`, onde o nome de `x` é o primeiro argumento formal. Se você esquecer de definir `x` no objeto que você passou como segundo argumento, ou se há algum bug similar ou confusão, você não vai receber um erro -- apenas resultados inesperados. +Apenas quando `f` é chamado é `x` ou encontrado ou não, e se for encontrado, ou em `o` ou (se nenhuma propriedade existir) no objeto de ativação de `f`, onde o nome de `x` é o primeiro argumento formal. Se você esquecer de definir `x` no objeto que você passou como segundo argumento, ou se há algum bug similar ou confusão, você não vai receber um erro — apenas resultados inesperados. **Contra:** Código utilizando `with` talvez não seja compatível posteriormente, especialmente quando usado com algo que não seja um objeto simples. Considere esse exemplo: diff --git a/files/pt-br/web/performance/critical_rendering_path/index.md b/files/pt-br/web/performance/critical_rendering_path/index.md index b6095a806632b7..201005b07c73fe 100644 --- a/files/pt-br/web/performance/critical_rendering_path/index.md +++ b/files/pt-br/web/performance/critical_rendering_path/index.md @@ -46,7 +46,7 @@ What is the width of an element? Block level elements, by definition, have a def The viewport meta tag defines the width of the layout viewport, impacting the layout. Without it, the browser uses the default viewport width, which on by-default full screen browsers is generally 960px. On by-default full screen browsers, like your phone's browser, by setting ``, the width will be the width of the device instead of the default viewport width. The device-width changes when a user rotates their phone between landscape and portrait mode. Layout happens every time a device is rotated or browser is otherwise resized. -Layout performance is impacted by the DOM -- the greater the number of nodes, the longer layout takes. Layout can become a bottleneck, leading to jank if required during scrolling or other animations. While a 20ms layout on load or orientation change may be fine, it will lead to jank on animation or scroll. Any time the render tree is modified, such as by added nodes, altered content, or updated box model styles on a node, layout occurs. +Layout performance is impacted by the DOM — the greater the number of nodes, the longer layout takes. Layout can become a bottleneck, leading to jank if required during scrolling or other animations. While a 20ms layout on load or orientation change may be fine, it will lead to jank on animation or scroll. Any time the render tree is modified, such as by added nodes, altered content, or updated box model styles on a node, layout occurs. To reduce the frequency and duration of layout events, batch updates and avoid animating box model properties. diff --git a/files/ru/learn/server-side/express_nodejs/mongoose/index.md b/files/ru/learn/server-side/express_nodejs/mongoose/index.md index 65a4d568e0f6c4..36c214502b0b56 100644 --- a/files/ru/learn/server-side/express_nodejs/mongoose/index.md +++ b/files/ru/learn/server-side/express_nodejs/mongoose/index.md @@ -20,7 +20,7 @@ Express-приложения могут использовать различн ### Какие базы данных можно использовать? -*Express-*приложение может использовать любые базы данных, поддерживаемые _Node_ (сам по себе Express не определяет каких-либо конкретных дополнительных свойств и требований для управления базами данных). Есть [много популярных](https://expressjs.com/en/guide/database-integration.html) вариантов -- PostgreSQL, MySQL, Redis, SQLite, и MongoDB. +*Express-*приложение может использовать любые базы данных, поддерживаемые _Node_ (сам по себе Express не определяет каких-либо конкретных дополнительных свойств и требований для управления базами данных). Есть [много популярных](https://expressjs.com/en/guide/database-integration.html) вариантов — PostgreSQL, MySQL, Redis, SQLite, и MongoDB. При выборе базы данных следует учитывать такие факторы как время разработки, время обучения, простота репликации и копирования, расходы, поддержка сообщества и т. д. Хотя нет единственной "лучшей" базы данных, почти любое из популярных решений будет приемлемым для сайта малого и среднего размера, такого как наша Local Library. @@ -45,19 +45,19 @@ Express-приложения могут использовать различн Популярные решения на момент написания статьи: -- [Mongoose](https://www.npmjs.com/package/mongoose): -- это средство моделирование объектов базы данных [MongoDB](https://www.mongodb.org/), предназначенное для асинхронной работы. +- [Mongoose](https://www.npmjs.com/package/mongoose): — это средство моделирование объектов базы данных [MongoDB](https://www.mongodb.org/), предназначенное для асинхронной работы. - [Waterline](https://www.npmjs.com/package/waterline): ORM фреймворка [Sails](http://sailsjs.com/) (основан на Express) . Она предоставляет единый API для доступа к множеству баз данных, в том числе Redis, mySQL, LDAP, MongoDB, и Postgres. - [Bookshelf](https://www.npmjs.com/package/bookshelf): поддерживает как promise- так и традиционные callback- интерфейсы, поддержка транзакций, eager/nested-eager relation loading, полиморфные ассоциации, и поддержка, один к одному, один ко многим, и многие ко многим. Работает с PostgreSQL, MySQL, и SQLite3. - [Objection](https://www.npmjs.com/package/objection): Делает настолько лёгким, насколько возможно, использование всей мощи SQL и движка базы данных ( поддерживает SQLite3, Postgres, и MySQL). - [Sequelize](https://www.npmjs.com/package/sequelize): Основанная на промисах ORM для Node.js и [io.js](https://ru.wikipedia.org/wiki/Io.js). Поддерживает диалекты PostgreSQL, MySQL, MariaDB, SQLite и MSSQL, обладает надёжной поддержкой транзакций, отношений, чтения копий и т.д. -- [Node ORM2](https://node-orm.readthedocs.io/en/latest/) -- это OR менеджер для NodeJS. Поддерживает MySQL, SQLite и Progress, помогает работать с БД, используя объектный подход. -- [JugglingDB](http://1602.github.io/jugglingdb/) -- это кросс-ДБ ORM для NodeJS, обеспечивающая общий интерфейс для доступа к наиболее популярным форматам БД. Поддерживает MySQL, SQLite3, Postgres, MongoDB, Redis и хранение данных в памяти js (собственный движок, только для тестирования). +- [Node ORM2](https://node-orm.readthedocs.io/en/latest/) — это OR менеджер для NodeJS. Поддерживает MySQL, SQLite и Progress, помогает работать с БД, используя объектный подход. +- [JugglingDB](http://1602.github.io/jugglingdb/) — это кросс-ДБ ORM для NodeJS, обеспечивающая общий интерфейс для доступа к наиболее популярным форматам БД. Поддерживает MySQL, SQLite3, Postgres, MongoDB, Redis и хранение данных в памяти js (собственный движок, только для тестирования). Как правило, при выборе решения следует учитывать как предоставляемые функции, так и "деятельность сообщества" ( загрузки, вклад, отчёты об ошибках, качество документации, и т.д. ) . На момент написания статьи Mongoose являлась очень популярной ORM, и разумно, если вы выбрали MongoDB. ### Применение Mongoose и MongoDb для LocalLibrary -В примере LocalLibrary (и до конца раздела) мы будем использовать Mongoose ODM для доступа к данным нашей библиотеки. Mongoose является интерфейсом для MongoDB, NoSQL-базы данных с открытым исходным кодом, в которой использована документов-ориентированная модель данных. В MongoDB «коллекции» и «документы» -- это аналоги «таблиц» и «строк» в реляционных БД. +В примере LocalLibrary (и до конца раздела) мы будем использовать Mongoose ODM для доступа к данным нашей библиотеки. Mongoose является интерфейсом для MongoDB, NoSQL-базы данных с открытым исходным кодом, в которой использована документов-ориентированная модель данных. В MongoDB «коллекции» и «документы» — это аналоги «таблиц» и «строк» в реляционных БД. Это сочетание ODM и БД весьма популярно в сообществе Node, частично потому, что система хранения документов и запросов очень похожа на JSON и поэтому знакома разработчикам JavaScript. @@ -73,7 +73,7 @@ Express-приложения могут использовать различн При проектировании моделей имеет смысл иметь отдельные модели для каждого «объекта» (группы связанных данных). В этом случае очевидными объектами являются книги, экземпляры книг и авторы. -Можно также использовать модели для представления параметров списка выбора (например, как выпадающий список вариантов), вместо жёсткого кодирования выбора на самом веб-сайте - рекомендуется, когда не все параметры известны или могут быть изменены. Явный кандидат для модели такого типа -- это жанр книги (например, «Научная фантастика», «Французская поэзия» и т.д.), +Можно также использовать модели для представления параметров списка выбора (например, как выпадающий список вариантов), вместо жёсткого кодирования выбора на самом веб-сайте - рекомендуется, когда не все параметры известны или могут быть изменены. Явный кандидат для модели такого типа — это жанр книги (например, «Научная фантастика», «Французская поэзия» и т.д.), Как только мы определились с моделями и полями, следует подумать об отношениях между ними. @@ -81,7 +81,7 @@ Express-приложения могут использовать различн Также показаны отношения между моделями, включая множественные отношения. Числа на линиях связи показывают максимум и минимум моделей, участвующих отношении. Например, линия между `Book` и `Genre` показывает, что `Book` и `Genre` связаны. Числа на этой линии рядом с моделью `Book` показывают, что жанр может быть связан с любым количеством книг, а числа на другом конце линии рядом с `Genre` отмечают, что книга может быть связана с любым количеством жанров. -> **Примечание:** Как показано в [Учебнике по Mongoose](#Mongoose_Справочник) ниже, часто лучше иметь поле, определяющее отношение между документами (моделями), только в одной модели (обратное отношение можно найти по присвоенному идентификатору `_id` в другой модели). Ниже мы предпочли задать отношения между Book/Genre и между Book/Author в схеме Book, а отношение между Book/BookInstance -- в схеме BookInstance. Этот выбор в некотором смысле был произвольным -- таким же хорошим мог бы быть выбор другого поля в другой схеме. +> **Примечание:** Как показано в [Учебнике по Mongoose](#Mongoose_Справочник) ниже, часто лучше иметь поле, определяющее отношение между документами (моделями), только в одной модели (обратное отношение можно найти по присвоенному идентификатору `_id` в другой модели). Ниже мы предпочли задать отношения между Book/Genre и между Book/Author в схеме Book, а отношение между Book/BookInstance — в схеме BookInstance. Этот выбор в некотором смысле был произвольным — таким же хорошим мог бы быть выбор другого поля в другой схеме. ![Mongoose Library Model with correct cardinality](library_website_-_mongoose_express.png) @@ -269,7 +269,7 @@ Mongoose предусматривает встроенные валидатор #### Создание и изменение документов -Чтобы создать запись, следует определить экземпляр модели и вызвать метод `save()`. В примере ниже SomeModel -- это модель с единственным полем "name", которую мы создадим из нашей схемы. +Чтобы создать запись, следует определить экземпляр модели и вызвать метод `save()`. В примере ниже SomeModel — это модель с единственным полем "name", которую мы создадим из нашей схемы. ```js // Создать экземпляр модели SomeModel diff --git a/files/ru/learn/server-side/express_nodejs/skeleton_website/index.md b/files/ru/learn/server-side/express_nodejs/skeleton_website/index.md index a81dde637352b6..98749b449b6c8a 100644 --- a/files/ru/learn/server-side/express_nodejs/skeleton_website/index.md +++ b/files/ru/learn/server-side/express_nodejs/skeleton_website/index.md @@ -16,7 +16,7 @@ translation_of: Learn/Server-side/Express_Nodejs/skeleton_website ## Обзор -В этой статье показано, как создать каркас сайта с помощью средства [Express Application Generator](https://expressjs.com/en/starter/generator.html). Каркас затем можно будет заполнить с помощью путей сайта, шаблонов/представлений и обращений к базе данных. Мы используем это средство для создания основы нашего сайта Local Library. К основе будет добавлен код, необходимый сайту. Создание каркаса чрезвычайно просто -- требуется только вызвать генератор в командной строке, указав имя нового проекта, дополнительно можно указать также движок шаблона сайта и генератор CSS. +В этой статье показано, как создать каркас сайта с помощью средства [Express Application Generator](https://expressjs.com/en/starter/generator.html). Каркас затем можно будет заполнить с помощью путей сайта, шаблонов/представлений и обращений к базе данных. Мы используем это средство для создания основы нашего сайта Local Library. К основе будет добавлен код, необходимый сайту. Создание каркаса чрезвычайно просто — требуется только вызвать генератор в командной строке, указав имя нового проекта, дополнительно можно указать также движок шаблона сайта и генератор CSS. Далее показано, как вызвать генератор приложений, и даётся небольшое пояснение различных вариантов представлений и CSS. Мы поясним структуру каркаса веб-сайта. В конце мы покажем, как запустить веб-сайт, чтобы убедиться, что он работает. @@ -87,7 +87,7 @@ express > **Примечание:** В интернете множество ресурсов, которые помогут сравнить различные варианты! -Для этого проекта мы используем шаблонизатор [Pug](https://pugjs.org/api/getting-started.html) (в прошлом назывался Jade) -- один из популярнейших Express/JavaScript шаблонизаторов, который поддерживается в Express-generator "из коробки". +Для этого проекта мы используем шаблонизатор [Pug](https://pugjs.org/api/getting-started.html) (в прошлом назывался Jade) — один из популярнейших Express/JavaScript шаблонизаторов, который поддерживается в Express-generator "из коробки". ### Какие шаблонизаторы CSS следует использовать? @@ -246,7 +246,7 @@ DEBUG=express-locallibrary-tutorial:* npm run devstart ### Структура каталогов -После установки зависимостей проект имеет такую структуру файлов (файлы - это элементы **без** префикса"/"). Файл **package.json** определяет имя файла с приложением, сценарии запуска, зависимости и др. Сценарий запуска задаёт точку входа приложения, у нас -- файл JavaScript **/bin/www**. Этот файл настраивает некоторые обработчики ошибок приложения, а затем загружает **app.js** для выполнения остальной работы. Пути приложения хранятся в отдельных модулях каталога **routes/**. Шаблоны хранятся в каталоге /**views**. +После установки зависимостей проект имеет такую структуру файлов (файлы - это элементы **без** префикса"/"). Файл **package.json** определяет имя файла с приложением, сценарии запуска, зависимости и др. Сценарий запуска задаёт точку входа приложения, у нас — файл JavaScript **/bin/www**. Этот файл настраивает некоторые обработчики ошибок приложения, а затем загружает **app.js** для выполнения остальной работы. Пути приложения хранятся в отдельных модулях каталога **routes/**. Шаблоны хранятся в каталоге /**views**. ``` /express-locallibrary-tutorial @@ -302,7 +302,7 @@ DEBUG=express-locallibrary-tutorial:* npm run devstart Зависимости включают пакет express и пакет для выбранного движка представления (pug). Кроме того, указаны пакеты, полезные во многих веб-приложениях: -- [body-parser](https://www.npmjs.com/package/body-parser): -- анализирует часть тела входящего запроса HTTP и облегчает извлечение из него различных частей. Например, мы можно читать `POST-`параметры. +- [body-parser](https://www.npmjs.com/package/body-parser): — анализирует часть тела входящего запроса HTTP и облегчает извлечение из него различных частей. Например, мы можно читать `POST-`параметры. - [cookie-parser](https://www.npmjs.com/package/cookie-parser): разбирает заголовок и заполняет `req.cookies` (по сути, даёт удобный метод для доступа к информации cookie). - [debug](https://www.npmjs.com/package/debug): небольшой отладчик, работающий по образцу методики отладки ядра node. - [morgan](https://www.npmjs.com/package/morgan): средство логирования запросов HTTP для node. @@ -331,7 +331,7 @@ DEBUG=express-locallibrary-tutorial:* npm run devstart var app = require('../app'); ``` -> **Примечание:** `require()` -- это глобальная функция node для импорта модулей в текущий файл. Для модуля **app.js** указан относительный путь, а расширение файла по умолчанию (.js) опущено. +> **Примечание:** `require()` — это глобальная функция node для импорта модулей в текущий файл. Для модуля **app.js** указан относительный путь, а расширение файла по умолчанию (.js) опущено. Оставшаяся часть кода настраивает порт сервера node для HTTP (определён в переменной среды или 3000, если не определён), и начинает обработку и протоколирование соединений и ошибок сервера. Сейчас вам не требуется дополнительных сведений о коде (все в этом файле шаблонно), но, при желании, его можно посмотреть. @@ -443,7 +443,7 @@ router.get('/', function(req, res, next) { module.exports = router; ``` -Путь определяет колбэк-функцию, которая будет вызвана, когда обнаружится HTTP GET-запрос корректного вида. Образец для сопоставления пути задаётся при импорте модуля -- ('`/users`') плюс что-то, определяемое в этом файле ('`/`'). Иными словами, этот путь будет использован, когда получен URL-запрос `/users/`. +Путь определяет колбэк-функцию, которая будет вызвана, когда обнаружится HTTP GET-запрос корректного вида. Образец для сопоставления пути задаётся при импорте модуля — ('`/users`') плюс что-то, определяемое в этом файле ('`/`'). Иными словами, этот путь будет использован, когда получен URL-запрос `/users/`. > **Примечание:** запустите сервер и задайте в браузере URL `http://localhost:3000/users/`. Вы должны увидеть сообщение: 'respond with a resource'. diff --git a/files/ru/mozilla/firefox/releases/3/index.md b/files/ru/mozilla/firefox/releases/3/index.md index 41ede4667eb540..39e05906059419 100644 --- a/files/ru/mozilla/firefox/releases/3/index.md +++ b/files/ru/mozilla/firefox/releases/3/index.md @@ -181,7 +181,7 @@ original_slug: Firefox_3_for_developers - **Simplified add-on installation.** You can now install extensions from third-party download sites in fewer clicks, thanks to the removal of the add-on download site whitelist. - **New Download Manager.** The download manager makes it easier to locate your downloaded files. - **Resumable downloads.** You can now resume downloads after restarting the browser or resetting your network connection. -- **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages -- this scales not just the text but the layout and images as well. +- **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages — this scales not just the text but the layout and images as well. - **Tab scrolling and quickmenu.** Tabs are easier to locate with the new tab scrolling and tab quickmenu features. - **Save what you were doing.** Firefox 3 prompts you to see if you'd like to save your current tabs when you exit Firefox. - **Optimized Open in Tabs behavior.** Opening a folder of bookmarks in tabs now appends the new tabs instead of replacing the existing ones. diff --git a/files/ru/web/api/console/error/index.md b/files/ru/web/api/console/error/index.md index 99b935af49e335..85d7203274df04 100644 --- a/files/ru/web/api/console/error/index.md +++ b/files/ru/web/api/console/error/index.md @@ -19,7 +19,7 @@ console.exception(obj1 [, obj2, ..., objN]); console.exception(msg [, subst1, ..., substN]); ``` -> **Примечание:** `console.exception()` -- это псевдоним для `console.error()`; они функционально идентичны. +> **Примечание:** `console.exception()` — это псевдоним для `console.error()`; они функционально идентичны. ### Параметры diff --git a/files/ru/web/api/history/go/index.md b/files/ru/web/api/history/go/index.md index 968380bc12caa0..3061980a9ee80f 100644 --- a/files/ru/web/api/history/go/index.md +++ b/files/ru/web/api/history/go/index.md @@ -24,7 +24,7 @@ history.go([delta]) ### Параметры - `delta` {{optional_inline}} - - : Относительное положение в истории, куда вы хотите переместиться. Отрицательные значения перемещают назад, а положительные -- вперёд. Например, `history.go(2)` перемещает вперёд на 2 страницы, а `history.go(-2)` перемещает на 2 страницы назад. Если метод вызван без параметра или же `delta` равна 0, результат выполнения будет такой же, как у `location.reload()`. + - : Относительное положение в истории, куда вы хотите переместиться. Отрицательные значения перемещают назад, а положительные — вперёд. Например, `history.go(2)` перемещает вперёд на 2 страницы, а `history.go(-2)` перемещает на 2 страницы назад. Если метод вызван без параметра или же `delta` равна 0, результат выполнения будет такой же, как у `location.reload()`. ## Примеры diff --git a/files/ru/web/api/htmlelement/index.md b/files/ru/web/api/htmlelement/index.md index 4b317993c150fa..01233ccbe889a5 100644 --- a/files/ru/web/api/htmlelement/index.md +++ b/files/ru/web/api/htmlelement/index.md @@ -14,7 +14,7 @@ translation_of: Web/API/HTMLElement _Наследует свойства родителя, {{domxref("Element")}}, и реализует их через {{domxref("GlobalEventHandlers")}} и {{domxref("TouchEventHandlers")}}._ -- {{domxref("HTMLElement.accessKey")}} -- ключ доступа +- {{domxref("HTMLElement.accessKey")}} — ключ доступа - : Эта строковая переменная {{domxref("DOMString")}} отображает ключ доступа, сопоставленный элементу _{{domxref("Element")}}_. - {{domxref("HTMLElement.accessKeyLabel")}} {{readonlyInline}} - : Возвращает {{domxref ("DOMString")}}, содержащий назначенный ключ доступа элемента. @@ -24,7 +24,7 @@ _Наследует свойства родителя, {{domxref("Element")}}, - : Возвращает {{domxref ("Boolean")}}, который указывает, можно ли редактировать содержимое элемента. - {{domxref("HTMLElement.contextMenu")}} - : Является {{domxref ("HTMLMenuElement")}}, представляющим контекстное меню, связанное с элементом. Может быть null -- {{domxref("HTMLElement.dataset")}} {{readonlyInline}} -- набор данных +- {{domxref("HTMLElement.dataset")}} {{readonlyInline}} — набор данных - : Возвращает {{domxref("domstringmap")}}, который позволяет получить доступ к чтению и записи атрибутов пользовательских данных элемента (data-\*) . - {{domxref("HTMLElement.dir")}} - : Is a {{domxref("DOMString")}}, reflecting the `dir` global attribute, representing the directionality of the element. Possible values are `"ltr"`, `"rtl"`, and `"auto"`. diff --git a/files/ru/web/api/indexeddb_api/using_indexeddb/index.md b/files/ru/web/api/indexeddb_api/using_indexeddb/index.md index 1362eb4e97f153..8f4bddbc776bf7 100644 --- a/files/ru/web/api/indexeddb_api/using_indexeddb/index.md +++ b/files/ru/web/api/indexeddb_api/using_indexeddb/index.md @@ -478,7 +478,7 @@ It's important to note that IndexedDB doesn't work for content loaded into a fra ## Warning About Browser Shutdown -When the browser shuts down (e.g., when the user selects Exit or clicks the Close button), any pending IndexedDB transactions are (silently) aborted -- they will not complete, and they will not trigger the error handler. Since the user can exit the browser at any time, this means that you cannot rely upon any particular transaction to complete or to know that it did not complete. There are several implications of this behavior. +When the browser shuts down (e.g., when the user selects Exit or clicks the Close button), any pending IndexedDB transactions are (silently) aborted — they will not complete, and they will not trigger the error handler. Since the user can exit the browser at any time, this means that you cannot rely upon any particular transaction to complete or to know that it did not complete. There are several implications of this behavior. First, you should take care to always leave your database in a consistent state at the end of every transaction. For example, suppose that you are using IndexedDB to store a list of items that you allow the user to edit. You save the list after the edit by clearing the object store and then writing out the new list. If you clear the object store in one transaction and write the new list in another transaction, there is a danger that the browser will close after the clear but before the write, leaving you with an empty database. To avoid this, you should combine the clear and the write into a single transaction. diff --git a/files/ru/web/api/media_session_api/index.md b/files/ru/web/api/media_session_api/index.md index 9e997ad1777be5..b0f26f7d5be4bf 100644 --- a/files/ru/web/api/media_session_api/index.md +++ b/files/ru/web/api/media_session_api/index.md @@ -22,7 +22,7 @@ API Media Session даёт разработчику возможность на ## Работа с Media Session API -Главный интерфейс Media Session API -- {{domxref("MediaSession")}}. Не нужно создавать собственный экземпляр `MediaSession`, доступ к API осуществляется через свойство {{domxref("navigator.mediaSession")}}. Например, следующий код укажет, что страница воспроизводит медиа в данный момент: +Главный интерфейс Media Session API — {{domxref("MediaSession")}}. Не нужно создавать собственный экземпляр `MediaSession`, доступ к API осуществляется через свойство {{domxref("navigator.mediaSession")}}. Например, следующий код укажет, что страница воспроизводит медиа в данный момент: ```js navigator.mediaSession.playbackState = "playing"; diff --git a/files/ru/web/api/node/childnodes/index.md b/files/ru/web/api/node/childnodes/index.md index 41a783d4ea67ed..6fc908b228d357 100644 --- a/files/ru/web/api/node/childnodes/index.md +++ b/files/ru/web/api/node/childnodes/index.md @@ -14,9 +14,9 @@ translation_of: Web/API/Node/childNodes var ndList = elementNodeReference.childNodes; ``` -_ndList_ -- упорядоченная коллекция объектов элементов, которые являются детьми данного элемента. Если у элемента нет детей, *ndList *пуст. +_ndList_ — упорядоченная коллекция объектов элементов, которые являются детьми данного элемента. Если у элемента нет детей, *ndList *пуст. -_ndList_ -- переменная, хранящая список дочерних элементов. Тип этого списка -- {{domxref("NodeList")}}. +_ndList_ — переменная, хранящая список дочерних элементов. Тип этого списка — {{domxref("NodeList")}}. ## Пример @@ -48,7 +48,7 @@ while (box.firstChild) { ## Примечания -Элементы в коллекции -- объекты, а не строки. Чтобы получить данные из этих объектов, вы должны использовать их свойства (например, `elementNodeReference.childNodes[1].nodeName` чтобы получить имя, и т. д.). +Элементы в коллекции — объекты, а не строки. Чтобы получить данные из этих объектов, вы должны использовать их свойства (например, `elementNodeReference.childNodes[1].nodeName` чтобы получить имя, и т. д.). Объект `document` обладает 2-мя детьми: декларацией Doctype и корневым элементов, к которому как правило обращаются как `documentElement`. (В (X)HTML документах это HTML-элемент.) diff --git a/files/ru/web/api/selection/tostring/index.md b/files/ru/web/api/selection/tostring/index.md index 49cce247a733be..f2b8aa84d15261 100644 --- a/files/ru/web/api/selection/tostring/index.md +++ b/files/ru/web/api/selection/tostring/index.md @@ -16,7 +16,7 @@ str = sel.toString() ### Return value -- _`str`_ -- это строка, содержащаяся в выделении. +- _`str`_ — это строка, содержащаяся в выделении. ### Parameters diff --git a/files/ru/web/api/web_authentication_api/index.md b/files/ru/web/api/web_authentication_api/index.md index 3f3e640b4f16b6..387ff9f8abfb68 100644 --- a/files/ru/web/api/web_authentication_api/index.md +++ b/files/ru/web/api/web_authentication_api/index.md @@ -48,7 +48,7 @@ The registration steps are: 2. Ensuring that the origin was the origin expected 3. Validating that the signature over the clientDataHash and the attestation using the certificate chain for that specific model of the authenticator - A complete list of validation steps [can be found in the Web Authentication API specification](https://w3c.github.io/webauthn/#registering-a-new-credential). Assuming that the checks pan out, the server will store the new public key associated with the user's account for future use -- that is, whenever the user desires to use the public key for authentication. + A complete list of validation steps [can be found in the Web Authentication API specification](https://w3c.github.io/webauthn/#registering-a-new-credential). Assuming that the checks pan out, the server will store the new public key associated with the user's account for future use — that is, whenever the user desires to use the public key for authentication. ### Аутентификация diff --git a/files/ru/web/api/webrtc_api/session_lifetime/index.md b/files/ru/web/api/webrtc_api/session_lifetime/index.md index 64aa23c514effb..27f5fad4d9da88 100644 --- a/files/ru/web/api/webrtc_api/session_lifetime/index.md +++ b/files/ru/web/api/webrtc_api/session_lifetime/index.md @@ -56,7 +56,7 @@ WebRTC позволяет браузерным приложениям постр 4. Вызывающий узел создаёт уникальный идентификатор, токен или нечто, что сможет идентифицировать вызов на сигнальном сервере, и обмениваться с принимающим узлом. Форма и содержимое идентификатора остаётся на усмотрение разработчика. 5. Каждый узел подключается к согласованному сигнальному серверу, такому например как известный обоим WebSocket-сервер, для обмена сообщениями. 6. Каждый узел сообщает сигнальному серверу, что хочет подключиться к одной и той же WebRTC-сессии (идентифицируемой токеном, определённым на шаге 4) -7. **_descriptions, candidates, etc. -- more coming up_** +7. **_descriptions, candidates, etc. — more coming up_** ## Перезапуск сессии ICE агент diff --git a/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.md b/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.md index 757487573ecd66..f6b035e9714bfe 100644 --- a/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.md +++ b/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.md @@ -235,7 +235,7 @@ When the user presses the "Send" button, the sendMessage() method we've establis } ``` -First, the text of the message is fetched from the input box's [`value`](/ru/docs/Web/HTML/Element/input#value) attribute. This is then sent to the remote peer by calling {{domxref("RTCDataChannel.send", "sendChannel.send()")}}. That's all there is to it! The rest of this method is just some user experience sugar -- the input box is emptied and re-focused so the user can immediately begin typing another message. +First, the text of the message is fetched from the input box's [`value`](/ru/docs/Web/HTML/Element/input#value) attribute. This is then sent to the remote peer by calling {{domxref("RTCDataChannel.send", "sendChannel.send()")}}. That's all there is to it! The rest of this method is just some user experience sugar — the input box is emptied and re-focused so the user can immediately begin typing another message. ### Receiving messages diff --git a/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md b/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md index 9fd40114fd0f1a..dc366372fe2db0 100644 --- a/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md +++ b/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.md @@ -154,7 +154,7 @@ if (request.status === 200) { Line 3 sends the request. The `null` parameter indicates that no body content is needed for the `GET` request. -Line 5 checks the status code after the transaction is completed. If the result is 200 -- HTTP's "OK" result -- the document's text content is output to the console. +Line 5 checks the status code after the transaction is completed. If the result is 200 — HTTP's "OK" result — the document's text content is output to the console. ### Example: Synchronous HTTP request from a `Worker` diff --git a/files/ru/web/html/element/option/index.md b/files/ru/web/html/element/option/index.md index 79b47ba2c6a8a0..1387f42f6cdda6 100644 --- a/files/ru/web/html/element/option/index.md +++ b/files/ru/web/html/element/option/index.md @@ -23,13 +23,13 @@ translation_of: Web/HTML/Element/option Как и все HTML-элементы, этот элемент поддерживает [глобальные атрибуты](/ru/docs/HTML/Global_attributes). -- {{htmlattrdef("disabled")}} -- отключён(о) +- {{htmlattrdef("disabled")}} — отключён(о) - : Если этот Boolean атрибут установлен, эта опция недоступна для выделения. Часто браузеры выделяют такой элемент управления серым цветом и ему недоступны любые события браузера, такие как клики мыши или события, связанные с фокусировкой. Если этот атрибут не установлен, этот элемент все ещё можно отключить (может не работать), если отключён внешний(one of its ancestors) элемент {{HTMLElement("optgroup")}}. -- {{htmlattrdef("label")}} -- метка, ярлык +- {{htmlattrdef("label")}} — метка, ярлык - : Этот атрибут - текст ярлыка, отображающий значение(смысл, описание) опции. Если `label` не указан (отсутствует), то его значение совпадает с текстовым содержанием элемента `