diff --git a/.github/workflows/markdown-lint-fix.yml b/.github/workflows/markdown-lint-fix.yml index a4c61716934478..61b8eb91770af8 100644 --- a/.github/workflows/markdown-lint-fix.yml +++ b/.github/workflows/markdown-lint-fix.yml @@ -60,6 +60,7 @@ jobs: - name: Lint Markdown files run: | yarn markdownlint-cli2 --fix "**/${{ matrix.lang }}/**/*.md" + node ./scripts/check-url-locale.js --fix "files/${{ matrix.lang }}" yarn prettier -w "**/${{ matrix.lang }}/**/*.md" cd ${{ github.workspace }}/mdn/content && yarn fix:fm --config-file ${{ github.workspace }}/front-matter-config.json "${{ github.workspace }}/files/${{ matrix.lang }}" diff --git a/.github/workflows/pr-check-lint_content.yml b/.github/workflows/pr-check-lint_content.yml index 58efde6c04bc8e..643cfd81a9afd6 100644 --- a/.github/workflows/pr-check-lint_content.yml +++ b/.github/workflows/pr-check-lint_content.yml @@ -114,6 +114,9 @@ jobs: echo "${EOF}" >> $GITHUB_ENV echo "FM_LINT_FAILED=${FM_LINT_FAILED}" >> $GITHUB_ENV + echo "Running url locale checker" + node ./scripts/check-url-locale.js --fix ${files_to_lint} + echo "Running Prettier" yarn prettier -w ${files_to_lint} diff --git a/.lintstagedrc.json b/.lintstagedrc.json index 5b4d530600839f..7dcd408346bf8d 100644 --- a/.lintstagedrc.json +++ b/.lintstagedrc.json @@ -1,4 +1,8 @@ { "!*.md": "prettier --ignore-unknown --write", - "*.md": ["markdownlint-cli2 --fix", "prettier --write"] + "*.md": [ + "markdownlint-cli2 --fix", + "node ./scripts/check-url-locale.js --fix", + "prettier --write" + ] } diff --git a/files/ko/glossary/accessible_name/index.md b/files/ko/glossary/accessible_name/index.md index 239697a588721d..fb98f1d7d2d416 100644 --- a/files/ko/glossary/accessible_name/index.md +++ b/files/ko/glossary/accessible_name/index.md @@ -21,7 +21,7 @@ l10n: 텍스트 콘텐츠 섹션과 같은 많은 요소에는 접근 가능한 이름이 필요하지 않습니다. 모든 컨트롤에는 접근 가능한 이름이 있어야 합니다. 정보를 전달하고 순전히 표현용이 아닌 모든 이미지도 마찬가지입니다. -보조 기술은 요소의 역할과 함께 접근 가능한 이름인 접근성 이름 속성을 사용자에게 제공합니다. 많은 요소에는 접근 가능한 이름이 필요하지 않지만, 일부 콘텐츠 [역할](/ko/docs/Web/Accessibility/ARIA/Roles)에는 접근 가능한 이름이 있으면 이점을 얻을 수 있습니다. 예를 들어, [`tabpanel`](/ko/docs/Web/Accessibility/ARIA/Roles/tabpanel_role)은 사용자가 [`tab`](/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role) 역할을 사용하여 관련 요소를 활성화한 후에 나타나는 콘텐츠 부분입니다. 이 역할은 {{HTMLElement("div")}} 요소와 같이 필요한 이름이 없는 요소에 설정할 수 있습니다. `tab`은 컨트롤이며, 접근 가능한 이름이 있어야 합니다. `tabpanel`은 `tab`의 하위(콘텐츠 부분)입니다. `tabpanel`에 `aria-labelledby`를 추가하는 것이 가장 좋습니다. +보조 기술은 요소의 역할과 함께 접근 가능한 이름인 접근성 이름 속성을 사용자에게 제공합니다. 많은 요소에는 접근 가능한 이름이 필요하지 않지만, 일부 콘텐츠 [역할](/ko/docs/Web/Accessibility/ARIA/Roles)에는 접근 가능한 이름이 있으면 이점을 얻을 수 있습니다. 예를 들어, [`tabpanel`](/ko/docs/Web/Accessibility/ARIA/Roles/tabpanel_role)은 사용자가 [`tab`](/ko/docs/Web/Accessibility/ARIA/Roles/tab_role) 역할을 사용하여 관련 요소를 활성화한 후에 나타나는 콘텐츠 부분입니다. 이 역할은 {{HTMLElement("div")}} 요소와 같이 필요한 이름이 없는 요소에 설정할 수 있습니다. `tab`은 컨트롤이며, 접근 가능한 이름이 있어야 합니다. `tabpanel`은 `tab`의 하위(콘텐츠 부분)입니다. `tabpanel`에 `aria-labelledby`를 추가하는 것이 가장 좋습니다. ## 같이 보기 diff --git a/files/ko/glossary/effective_connection_type/index.md b/files/ko/glossary/effective_connection_type/index.md index 8bfbec57721a38..3f400c9fc08bbc 100644 --- a/files/ko/glossary/effective_connection_type/index.md +++ b/files/ko/glossary/effective_connection_type/index.md @@ -18,7 +18,7 @@ l10n: | `3g` | 270ms | 700 Kbps | 이 네트워크는 고해상도 이미지, 오디오, SD 비디오 등 대용량 리소스를 전송하는 데 적합합니다. | | `4g` | 0ms | ∞ | 이 네트워크는 HD 비디오, 실시간 비디오 등에 적합합니다. | -[유효타입](/ko/docs/Web/API/NetworkInformation/effectiveType)은 [네트워크 정보 API](/ko/docs/Web/API/Network_Information_API)의 속성으로, [navigator.connection](/en-US/docs/Web/API/Navigator/connection) 객체를 통해 JavaScript에 노출됩니다. 유효 연결 타입을 보려면, 지원 브라우저의 개발자 도구 콘솔을 열고 다음을 입력하세요. +[유효타입](/ko/docs/Web/API/NetworkInformation/effectiveType)은 [네트워크 정보 API](/ko/docs/Web/API/Network_Information_API)의 속성으로, [navigator.connection](/ko/docs/Web/API/Navigator/connection) 객체를 통해 JavaScript에 노출됩니다. 유효 연결 타입을 보려면, 지원 브라우저의 개발자 도구 콘솔을 열고 다음을 입력하세요. ```js navigator.connection.effectiveType; diff --git a/files/ko/glossary/enumerated/index.md b/files/ko/glossary/enumerated/index.md index f7add499e29fd0..8e817300ea2734 100644 --- a/files/ko/glossary/enumerated/index.md +++ b/files/ko/glossary/enumerated/index.md @@ -11,9 +11,9 @@ l10n: ## HTML 열거 속성 -HTML에서 [열거 속성](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute)은 제한된 사전 정의된 텍스트 값 모음이 있는 속성입니다. 예를 들어, 전역 HTML [`dir`](/en-US/docs/Web/HTML/Global_attributes/dir) 속성은 세 가지 유효한 값(`ltr`, `rtl` 및 `auto`)이 있습니다. +HTML에서 [열거 속성](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute)은 제한된 사전 정의된 텍스트 값 모음이 있는 속성입니다. 예를 들어, 전역 HTML [`dir`](/ko/docs/Web/HTML/Global_attributes/dir) 속성은 세 가지 유효한 값(`ltr`, `rtl` 및 `auto`)이 있습니다. -열거된 각 속성에는 속성이 값 없이 존재할 경우(값이 누락되는 경우)에 대한 기본값 및 속성에 유효하지 않은 값이 할당될 경우에 대한 기본값이 있습니다. [불리언](/en-US/docs/Glossary/Boolean) HTML 속성과 달리, 이 속성에는 값이 존재하는지, 생략되었는지, 유효하지 않은지에 관계없이 속성이 존재할 때 항상 true입니다. 열거된 HTML 속성을 사용하면, 생략된 값의 기본값이 유효하지 않은 값의 기본값과 다를 수 있습니다. +열거된 각 속성에는 속성이 값 없이 존재할 경우(값이 누락되는 경우)에 대한 기본값 및 속성에 유효하지 않은 값이 할당될 경우에 대한 기본값이 있습니다. [불리언](/ko/docs/Glossary/Boolean) HTML 속성과 달리, 이 속성에는 값이 존재하는지, 생략되었는지, 유효하지 않은지에 관계없이 속성이 존재할 때 항상 true입니다. 열거된 HTML 속성을 사용하면, 생략된 값의 기본값이 유효하지 않은 값의 기본값과 다를 수 있습니다. 예를 들어, 전역 HTML [`contenteditable`](/ko/docs/Web/HTML/Global_attributes/contenteditable) 속성은 두 개의 유효한 키워드( `true` 및 `false`)를 가집니다. 속성이 있지만 값이 설정되지 않은 경우, 값은 `true`입니다. 값이 설정되었지만, 유효하지 않은 경우(`contenteditable="contenteditable"`와 같이), 값은 세 번째 상태인 `inherit`으로 매핑됩니다. diff --git a/files/ko/glossary/page_load_time/index.md b/files/ko/glossary/page_load_time/index.md index 020d3deb219733..9ce9e081b3c089 100644 --- a/files/ko/glossary/page_load_time/index.md +++ b/files/ko/glossary/page_load_time/index.md @@ -7,7 +7,7 @@ l10n: {{GlossarySidebar}} -**페이지 로드 시간(Page load time)** 은 페이지를 로드하는 데 걸리는 시간으로, [탐색 시작](/ko/docs/Web/API/PerformanceTiming/navigationStart)부터 [로드 이벤트 시작](/en-US/docs/Web/API/PerformanceTiming/loadEventStart)까지 측정됩니다. +**페이지 로드 시간(Page load time)** 은 페이지를 로드하는 데 걸리는 시간으로, [탐색 시작](/ko/docs/Web/API/PerformanceTiming/navigationStart)부터 [로드 이벤트 시작](/ko/docs/Web/API/PerformanceTiming/loadEventStart)까지 측정됩니다. ```js let time = performance.timing; diff --git a/files/ko/glossary/shadow_tree/index.md b/files/ko/glossary/shadow_tree/index.md index 14b3bfe77b19f5..7181d9db14f6aa 100644 --- a/files/ko/glossary/shadow_tree/index.md +++ b/files/ko/glossary/shadow_tree/index.md @@ -7,7 +7,7 @@ l10n: {{GlossarySidebar}} -**쉐도우 트리 (Shadow tree)** 는 최상위 [노드](/en-US/docs/Glossary/Node/DOM)가 **쉐도우 루트(shadow root)** 인 {{Glossary("DOM")}} 노드의 숨겨진 집합입니다. 쉐도우 루트는 **쉐도우 DOM(shadow DOM)** 의 최상위 노드이며 일반 문서의 DOM 트리의 일부가 아닙니다. +**쉐도우 트리 (Shadow tree)** 는 최상위 [노드](/ko/docs/Glossary/Node/DOM)가 **쉐도우 루트(shadow root)** 인 {{Glossary("DOM")}} 노드의 숨겨진 집합입니다. 쉐도우 루트는 **쉐도우 DOM(shadow DOM)** 의 최상위 노드이며 일반 문서의 DOM 트리의 일부가 아닙니다. 쉐도우 루트는 **호스트** 라고 하는 특정 DOM 노드를 통해 다른 노드 트리에 연결됩니다. 이 호스트는 다른 쉐도우 트리의 일부일 수 있습니다. 쉐도우 루트 호스트의 노드 트리를 **라이트 트리(light tree)** 라고도 합니다. diff --git a/files/ko/web/javascript/reference/global_objects/array/indexof/index.md b/files/ko/web/javascript/reference/global_objects/array/indexof/index.md index 7cf97a48be4f5e..3ba8e080753aab 100644 --- a/files/ko/web/javascript/reference/global_objects/array/indexof/index.md +++ b/files/ko/web/javascript/reference/global_objects/array/indexof/index.md @@ -23,7 +23,7 @@ indexOf(searchElement, fromIndex) - `searchElement` - : 배열에서 위치를 찾을 요소입니다. - `fromIndex` {{optional_inline}} - - : 검색을 시작할 0 기반 인덱스로, [정수로 변환됩니다](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#정수_변환). + - : 검색을 시작할 0 기반 인덱스로, [정수로 변환됩니다](/ko/docs/Web/JavaScript/Reference/Global_Objects/Number#정수_변환). - 음수 인덱스는 배열의 끝부터 거꾸로 셉니다. 즉, `fromIndex < 0`이면, `fromIndex + array.length`가 사용됩니다. 그러나, 이 경우에도 배열은 여전히 앞에서 뒤로 검색됩니다. - `fromIndex < -array.length`이거나 `fromIndex`가 생략되면, `0`이 사용되어 전체 배열이 검색됩니다. - `fromIndex >= array.length` 이면, 배열은 검색되지 않고 `-1`이 반환됩니다. @@ -34,7 +34,7 @@ indexOf(searchElement, fromIndex) ## 설명 -`indexOf()` 메서드는 [엄격한 동등성](/ko/docs/Web/JavaScript/Reference/Operators/Strict_equality)을 사용하여 배열의 요소와 `searchElement`를 비교합니다(`===` 연산자가 사용하는 것과 동일한 알고리즘). [`NaN`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN) 값은 절대 동일하게 비교되지 않으므로, `searchElement`가 `NaN`인 경우 `indexOf()`는 항상 `-1`을 반환합니다. +`indexOf()` 메서드는 [엄격한 동등성](/ko/docs/Web/JavaScript/Reference/Operators/Strict_equality)을 사용하여 배열의 요소와 `searchElement`를 비교합니다(`===` 연산자가 사용하는 것과 동일한 알고리즘). [`NaN`](/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN) 값은 절대 동일하게 비교되지 않으므로, `searchElement`가 `NaN`인 경우 `indexOf()`는 항상 `-1`을 반환합니다. `indexOf()` 메서드는 [희소 배열](/ko/docs/Web/JavaScript/Guide/Indexed_collections#희소_배열)의 빈 슬롯을 건너뜁니다. @@ -134,7 +134,7 @@ console.log(Array.prototype.indexOf.call(arrayLike, 5)); ## 같이 보기 - [`core-js`의 `Array.prototype.indexOf` 폴리필](https://github.com/zloirock/core-js#ecmascript-array) -- [인덱스 기반 컬렉션](/en-US/docs/Web/JavaScript/Guide/Indexed_collections) 안내서 +- [인덱스 기반 컬렉션](/ko/docs/Web/JavaScript/Guide/Indexed_collections) 안내서 - {{jsxref("Array")}} - {{jsxref("Array.prototype.findIndex()")}} - {{jsxref("Array.prototype.findLastIndex()")}} diff --git a/files/ru/learn/css/css_layout/index.md b/files/ru/learn/css/css_layout/index.md index 177f1f7429d318..e69d1b95617d0c 100644 --- a/files/ru/learn/css/css_layout/index.md +++ b/files/ru/learn/css/css_layout/index.md @@ -41,7 +41,7 @@ slug: Learn/CSS/CSS_layout - : **CSS Media Query** позволяют писать CSS под разные условия, например "область просмотра шире 480 пикселей". Медиавыражения являются ключевой частью отзывчивого веб-дизайна, поскольку они позволяют создавать различные макеты в зависимости от размера области просмотра. Они также могут использоваться для определения других особенностей среды, в которой работает ваш сайт, например, использует ли пользователь сенсорный экран, а не мышь. В этом руководстве вы сперва познакомитесь с синтаксисом медиавыражений, а после разберёте их использование на интерактивном примере, показывающем, как простой дизайн можно сделать отзывчивым. - [Устаревшие методы вёрстки](/ru/docs/Learn/CSS/CSS_layout/Legacy_Layout_Methods) - : Grid-системы - это очень распространённая возможность, используемая в CSS layouts, и до CSS Grid Layout они, как правило, реализовывались с помощью floats или других возможностей вёрстки. Вы представляете свою вёрстку в виде заданного числа столбцов (например, 4 или 6), а затем вы помещаете содержимое в эти воображаемые столбцы. В этом разделе мы рассмотрим, как работают эти старые методы, чтобы вы понимали, как они использовались, если столкнётесь со старыми проектами. -- [Поддержка старыми браузерами](/en-US/docs/Learn/CSS/CSS_layout/Supporting_Older_Browsers) +- [Поддержка старыми браузерами](/ru/docs/Learn/CSS/CSS_layout/Supporting_Older_Browsers) - : В этом модуле мы рекомендуем использовать Flexbox и Grid как основные методы вёрстки для ваших проектов. Однако, ваш сайт могут посещать со старых браузеров или браузеров, которые не поддерживают данные методы. В сети это будет всегда - по мере появления новых возможностей, для различных браузеров будут приоритетны различные вещи. Этот раздел объясняет, как использовать современные веб-технологии без блокировки пользователей со старыми технологиями. - [Фундаментальное понятие вёрстки](/ru/docs/Learn/CSS/CSS_layout/Fundamental_Layout_Comprehension) - : Оценка ваших знаний различных методов вёрстки посредством вёрстки веб-страницы. diff --git a/package.json b/package.json index 247791256d6fcf..4ff5b69479b880 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,10 @@ "type": "module", "scripts": { "fix:json": "prettier -w \"**/*.json(c)?\"", - "fix:md": "markdownlint-cli2 --fix \"**/*.md\" && prettier -w \"**/*.md\"", + "fix:md": "markdownlint-cli2 --fix \"**/*.md\" && node ./scripts/check-url-locale.js --fix files && prettier -w \"**/*.md\"", "fix:yml": "prettier -w \"**/*.yml\"", "lint:json": "prettier -c \"**/*.json(c)?\"", - "lint:md": "markdownlint-cli2 \"**/*.md\" && prettier -c \"**/*.md\"", + "lint:md": "markdownlint-cli2 \"**/*.md\" && node ./scripts/check-url-locale.js files && prettier -c \"**/*.md\"", "lint:yml": "prettier -c \"**/*.yml\"", "prepare": "husky install" },