diff --git a/docs-translations/ko-KR/api/system-preferences.md b/docs-translations/ko-KR/api/system-preferences.md index 0bd04259321..1f9e6ec89a0 100644 --- a/docs-translations/ko-KR/api/system-preferences.md +++ b/docs-translations/ko-KR/api/system-preferences.md @@ -7,24 +7,52 @@ const {systemPreferences} = require('electron'); console.log(systemPreferences.isDarkMode()); ``` +## Events + +`systemPreferences` 객체는 다음 이벤트를 발생시킵니다: + +### Event: 'accent-color-changed' _Windows_ + +Returns: + +* `event` Event +* `newColor` String - 사용자에 의해 시스템 강조색으로 설정 된 새 RGBA 색상. + + ## Methods ### `systemPreferences.isDarkMode()` _macOS_ -이 메서드는 시스템이 어두운 모드 상태인 경우 `true`를 반환하고 아닐 경우 `false`를 -반환합니다. +이 메서드는 시스템이 어두운 모드 상태인 경우 `true`를 반환하고 아닐 경우 `false` +를 반환합니다. ### `systemPreferences.isSwipeTrackingFromScrollEventsEnabled()` _macOS_ -이 메서드는 페이지 간의 스와이프가 설정되어있을 때 `true`를 반환하고 그렇지 않은 경우 -`false`를 반환합니다. +이 메서드는 페이지 간의 스와이프가 설정되어있을 때 `true`를 반환하고 그렇지 않은 +경우 `false`를 반환합니다. + +### `systemPreferences.postNotification(event, userInfo)` _macOS_ + +* `event` String +* `userInfo` Object + +macOS 의 기본 알림으로 `event` 를 전달합니다. `userInfo` 는 알림과 함께 전송되는 +사용자 정보 딕셔너리를 포함하는 객체입니다. + +### `systemPreferences.postLocalNotification(event, userInfo)` _macOS_ + +* `event` String +* `userInfo` Object + +macOS 의 기본 알림으로 `event` 를 전달합니다. `userInfo` 는 알림과 함께 전송되는 +사용자 정보 딕셔너리를 포함하는 객체입니다. ### `systemPreferences.subscribeNotification(event, callback)` _macOS_ * `event` String * `callback` Function -macOS의 네이티브 알림을 구독하며, 해당하는 `event`가 발생하면 `callback`이 +macOS의 기본 알림을 구독하며, 해당하는 `event`가 발생하면 `callback`이 `callback(event, userInfo)` 형태로 호출됩니다. `userInfo`는 알림과 함께 전송되는 사용자 정보 딕셔너리를 포함하는 객체입니다. @@ -87,6 +115,7 @@ macOS에선 API가 `NSUserDefaults`를 읽어들입니다. 유명한 `key`와 `t 예시입니다 (투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다): ```javascript +const {BrowserWindow, systemPreferences} = require('electron'); let browserOptions = {width: 1000, height: 800}; // 플랫폼이 지원하는 경우에만 투명 윈도우를 생성. @@ -108,3 +137,15 @@ if (browserOptions.transparent) { ``` [dwm-composition]:https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx + +### `systemPreferences.getAccentColor()` _Windows_ + +사용자의 현재 시스템 전체 색상 환경설정을 RGBA 16진 문자열 형태로 반환합니다. + +```js +const color = systemPreferences.getAccentColor() // `"aabbccdd"` +const red = color.substr(0, 2) // "aa" +const green = color.substr(2, 2) // "bb" +const blue = color.substr(4, 2) // "cc" +const alpha = color.substr(6, 2) // "dd" +``` diff --git a/docs-translations/ko-KR/styleguide.md b/docs-translations/ko-KR/styleguide.md index 584d3245bdb..813ea6d6ac2 100644 --- a/docs-translations/ko-KR/styleguide.md +++ b/docs-translations/ko-KR/styleguide.md @@ -1,102 +1,235 @@ -# Electron 문서 스타일 가이드 +# Electron 문서 스타일 가이드 -[Electron 문서 읽기](#electron-문서-읽기) 와 -[Electron 문서 작성하기](#electron-문서-작성하기) 중 이해가 필요한 부분을 찾아 -참고하세요: +Electron 문서 작성 가이드입니다. -## Electron 문서 작성하기 +## 제목 -Electron 문서를 작성하는 규칙은 다음과 같습니다. +* 각 페이지는 상단에 하나의 `#`-단계의 제목을 사용해야 합니다. +* 같은 페이지의 챕터는 `##`-단계의 제목을 사용해야 합니다. +* 보조 챕터는 포함 단계에 따라 `#` 수를 증가시켜야 합니다. +* 페이지 제목의 "of" 와 "and" 같은 접속사를 제외한 모든 단어는 대문자로 + 시작해야합니다. +* 챕터 제목은 첫 단어만 대문자로 시작합니다. -- `h1` 제목은 페이지당 한 개만 사용할 수 있습니다. -- 코드 블럭에서 터미널 언어 선택시 `cmd` 대신 `bash`를 사용합니다. - (syntax highlighter를 사용하기 위해서) -- 문서의 `h1` 제목은 반드시 현재 객체 이름과 같게 해야 합니다. (`browser-window` → - `BrowserWindow`) - - 하이픈(-)으로 구분되었건 다르게 구분되었건 예시와 같이 작성합니다. -- 헤더 밑에 헤더를 바로 사용하지 않습니다. 한 줄이라도 좋으니 헤더와 헤더 사이에 설명을 - 추가합니다. -- 메서드 헤더는 `code backtick` 으로 표시합니다. -- 이벤트 헤더는 한 '따옴표'로 표시합니다. -- 리스트를 2 단계 이상 중첩하지 않습니다. (안타깝게도 markdown 렌더러가 이를 지원하지 - 않습니다) -- 섹션에 대한 제목을 추가합니다. Events, Class 메서드 그리고 인스턴스 메서드 등 -- 어떤 '것'의 사용 결과를 설명할 때 '될 것입니다' 형식을 사용하여 설명합니다. -- 이벤트와 메서드를 표기할 땐 `h3` 헤더를 사용합니다. -- 선택적 인수는 `function (required[, optional])` 형식으로 작성합니다. -- 선택적 인수는 목록에서 호출되면 표시합니다. -- 문장의 길이는 한 줄당 80 칸을 유지합니다. -- 플랫폼 특정 메서드 헤더는 이탈릭체로 표시합니다. - - ```### `method(foo, bar)` _macOS_``` -- 'on' 표현 대신 'in the ___ process' 형식의 표현을 지향합니다. +`Quick Start` 사용 예시: -### 번역된 참조 문서 +```markdown +# Quick Start -번역된 Electron의 참조 문서는 `docs-translations` 디렉터리에 있습니다. +... -아직 번역되지 않은 언어를 추가하려면 (일부분 포함): +## Main process -- 언어의 약어(예: en-US, ja-JP, ko-KR)로 서브 디렉터리를 만듭니다. -- 서브 디렉터리에 `docs` 디렉터리를 복사합니다. 파일 이름과 디렉터리 구조는 모두 - 유지합니다. -- 문서를 번역합니다. -- 언어 디렉터리 내의 `README.md`에 번역한 문서의 링크를 추가합니다. -- 메인(upstream) Electron의 [README](https://github.com/electron/electron#documentation-translations)에 - 번역된 언어 디렉터리의 링크를 추가합니다. +... -## Electron 문서 읽기 +## Renderer process -Electron 문서 구조를 이해하는 데 참고할 수 있는 유용한 도움말입니다. +... -### Methods +## Run your app -[Method](https://developer.mozilla.org/ko/docs/Glossary/Method) 문서의 -예시입니다: +... -``` -`methodName(required[, optional]))` +### Run as a distribution -* `required` String (**required**) -* `optional` Integer +... + +### Manually downloaded Electron binary + +... ``` -메서드 이름은 인수가 무엇을 받는지에 따라 결정됩니다. 선택적 인수는 브라켓([, ])으로 -묶어 이 인수가 다른 인수뒤에서 선택적으로 사용될 수 있다는 것을 표시합니다. +API 참고문서에는 이 규칙에 예외가 있습니다. -메서드 이름 하단에선 각 인수에 대해 자세한 설명을 합니다. 인수의 타입은: -[`String`](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String), -[`Number`](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number), -[`Object`](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object), -[`Array`](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array) -와 같은 일반적으로 쓰이는 타입 중 하나를 받거나 Electron의 [`webContent`](api/web-content.md) -같은 커스텀 타입을 받습니다. +## 마크다운 규칙 -만약 인수가 특정 플랫폼에 대해서만 적용된다면, 해당하는 플랫폼들을 공백-구분된 이텔릭체 -리스트를 데이터 타입 뒤에 표기합니다. 값은 `OS X`, `Windows` 또는 `Linux`가 될 수 -있습니다. +* 코드 블록에서 `cmd` 대신 `bash` 를 사용하세요. (문법 강조기 입니다) +* 한줄은 영문 80 자 길이로 맞춰야 합니다. +* 2단계를 넘는 중첩 목록은 사용하지 마세요. (마크다운 렌더러 때문입니다) +* 모든 `js` 와 `javascript` 는 [표준-마크다운](http://npm.im/standard-markdown)에 + 의해 분석됩니다. -``` -* `animate` Boolean (optional) _OS X_ _Windows_ +## 단어 선택 + +* 결과를 설명할 때 "would" 대신 "will" 을 사용합니다. +* "on" 대신 "in the ___ process" 표현을 지향합니다. + +## API 참고문서 + +다음 규칙은 API 문서에만 적용합니다. + +### 페이지 제목 + +각 페이지는 `BrowserWindow`, `autoUpdater` 와 `session` 와 같은 +`require('electron')` 에 의해 반환되는 실 객체의 이름을 제목으로 합니다. + +페이지 제목 아래에는 `>` 로 시작하는 한줄 설명이 있어야합니다. + +`session` 사용 예시: + +```markdown +# session + +> 브라우저 세션, 쿠키, 캐시, 프록시 설정 등을 관리. ``` -### Events +### 모듈 메소드와 이벤트 -[Event](https://developer.mozilla.org/ko/docs/Web/API/Event) 문서의 예시입니다: +클래스가 아닌 모듈에서 메소드와 이벤트는 `## Methods` 와 `## Events` 챕터에 +있어야 합니다. + +`autoUpdater` 사용 예시: + +```markdown +# autoUpdater + +## Events + +### Event: 'error' + +## Methods + +### `autoUpdater.setFeedURL(url[, requestHeaders])` +``` + +### 클래스 + +* API 클래스와 모듈 클래스는 `## Class: TheClassName` 챕터 아래에 표시합니다. +* 한 페이지에 여러개의 클래스가 있을 수 있습니다. +* 생성자는 `###`-단계의 제목으로 표시합니다. +* [정적 메소드](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static) 는 `### Statis Methods` 챕터 아래에 표시합니다. +* [인스턴스 메소드](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#Prototype_methods) 는 `### Instance Methods` 챕터 아래에 표시합니다. +* 반환값이 있는 모든 메소드는 "반환값 `[유형]` - 반환값 설명" 형태의 설명으로 시작해야 합니다. +* 인스턴스 이벤트는 `### 인스턴스 이벤트` 챕터 아래에 표시합니다. +* 인스턴스 속성은 `### 인스턴스 속성` 챕터 아래에 표시합니다. +* 인스턴스 속성은 "[속성 유형]" 으로 시작해야 합니다. + +`Session` 과 `Cookies` 클래스 사용 예시: + +```markdown +# session + +## Methods + +### session.fromPartition(partition) + +## Properties + +### session.defaultSession + +## Class: Session + +### Instance Events + +#### Event: 'will-download' + +### Instance Methods + +#### `ses.getCacheSize(callback)` + +### Instance Properties + +#### `ses.cookies` + +## Class: Cookies + +### Instance Methods + +#### `cookies.get(filter, callback)` +``` + +### 메소드 + +메소드 챕터는 다음을 따릅니다: + +```markdown +### `objectName.methodName(required[, optional]))` + +* `required` String +* `optional` Integer (optional) + +... +``` + +제목은 `###` 또는 `####`-단계로 합니다. 모듈이냐 클래스냐에 따라 달라집니다. + +모듈에서 `objectName` 은 모듕의 이름입니다. 클래스에서 그것은 클래스의 +인스턴스의 이름이며, 모듈의 이름과 달라야합니다. + +예를 들어, `session` 모듈의 `Session` 클래스의 메소드는 `objectName` 으로 +`ses` 를 사용해야 합니다. + +선택적인 인수는 각각을 컴마로 구분하여 대괄호 `[]` 로 감쌉니다: ``` -Event: 'wake-up' +required[, optional] +``` + +아래 메소드에 각 인수에 대한 더 자세한 내용이 있습니다. 인수의 유형은 기본 유형 +중 하나로 표시합니다. + +* [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) +* [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) +* [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) +* [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) +* [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) +* 또는 Electron 의 [`WebContents`](api/web-contents.md)와 같은 사용자 타입 + +인수 또는 메소드가 특정 플랫폼에만 사용된다면, 이 플랫폼들은 자료형 다음에 +공백으로 구분된 이탤릭체 목록으로 표시된다. 값은 `macOS`, `windows`, 또는 +`Linux` 일 수 있습니다. + +```markdown +* `animate` Boolean (optional) _macOS_ _Windows_ +``` + +`Array` 유형의 인수는 배열이 무엇을 포함하는지 아래에 명시해야 합니다. + +`Function` 유형의 인수를 위한 설명은 호출방법을 명확히 하고, 전달되는 +매개변수의 유형을 표시해야 합니다. + +### 이벤트 + +이벤트 챕터는 다음을 따릅니다: + +```markdown +### Event: 'wake-up' Returns: * `time` String + +... ``` -이벤트는 `.on` 리스너 메서드로 사용할 수 있습니다. 만약 이벤트에서 값을 반환한다면 -문서에서 표시된 대로 일정한 타입의 값을 반환합니다. 이벤트를 처리하거나 응답하려 한다면 -다음과 같이 사용할 수 있습니다: +제목은 `###` 또는 `####`-단계로 합니다. 모듈이냐 클래스냐에 따라 달라집니다. -```javascript -Alarm.on('wake-up', (time) => { - console.log(time) -}) +이벤트의 인수는 메소드와 같은 규칙을 따릅니다. + +### 속성 + +속성 챕터는 다음을 따릅니다: + +```markdown +### session.defaultSession + +... ``` + +제목은 `###` 또는 `####`-단계로 합니다. 모듈이냐 클래스냐에 따라 달라집니다. + +## 문서 번역 + +Electron 문서의 번역본은 `docs-translations` 아래에 위치합니다. + +아직 번역되지 않은 언어를 추가하려면 (일부분 포함): + +* 언어의 약어로 서브 디렉토리를 만듭니다. +* 파일을 번역합니다. +* 언어 디렉토리의 `README.md` 의 링크를 번역된 문서로 변경합니다. +* 언어 디렉토리의 링크를 Electron 의 + [README](https://github.com/electron/electron#documentation-translations)에 + 추가합니다. + +참고로 `docs-translations` 아래의 파일들은 번역된 것만 있어야 합니다. 영어 원문 +파일을 복사하면 안됩니다.