:memo: Update as upstream
authorPlusb Preco <plusb21@gmail.com>
Mon, 11 Jan 2016 04:11:10 +0000 (13:11 +0900)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 14 Jan 2016 01:56:28 +0000 (09:56 +0800)
[ci skip]

docs-translations/ko-KR/api/browser-window.md
docs-translations/ko-KR/api/dialog.md
docs-translations/ko-KR/api/frameless-window.md
docs-translations/ko-KR/api/menu.md
docs-translations/ko-KR/api/remote.md
docs-translations/ko-KR/api/session.md
docs-translations/ko-KR/api/web-frame.md
docs-translations/ko-KR/api/web-view-tag.md
docs-translations/ko-KR/development/build-instructions-windows.md
docs-translations/ko-KR/tutorial/desktop-environment-integration.md

index 9086f83..43bcd4a 100644 (file)
@@ -64,7 +64,7 @@ win.show();
   형태로 생성합니다. 기본값은 `true`입니다.
 * `acceptFirstMouse` Boolean - 윈도우가 비활성화 상태일 때 내부 컨텐츠 클릭 시
   활성화 되는 동시에 단일 mouse-down 이벤트를 발생시킬지 여부. 기본값은 `false`입니다.
-* `disableAutoHideCursor` Boolean - í\8c\8c이핑중 자동으로 커서를 숨길지 여부. 기본값은
+* `disableAutoHideCursor` Boolean - í\83\80이핑중 자동으로 커서를 숨길지 여부. 기본값은
   `false`입니다.
 * `autoHideMenuBar` Boolean - `Alt`를 누르지 않는 한 어플리케이션 메뉴바를 숨길지
   여부. 기본값은 `false`입니다.
@@ -115,12 +115,16 @@ win.show();
   합니다. node 통합이 비활성화되어있을 경우, preload 스크립트는 node의 global
   심볼들을 다시 global 스코프로 다시 포함 시킬 수 있습니다.
   [여기](process.md#event-loaded)의 예제를 참고하세요.
-* `partition` String - 페이지에서 사용할 세션을 지정합니다. 만약 `partition`이
-  `persist:`로 시작하면 페이지는 지속성 세션을 사용하며 다른 모든 앱 내의
-  페이지에서 같은 `partition`을 사용할 수 있습니다. 만약 `persist:` 접두어로
-  시작하지 않으면 페이지는 인-메모리 세션을 사용합니다. 여러 페이지에서 같은
-  `partition`을 지정하면 같은 세션을 공유할 수 있습니다. `partition`을 지정하지
-  않으면 어플리케이션의 기본 세션이 사용됩니다.
+* `session` [Session](session.md#class-session) - 페이지에서 사용할 세션을
+  지정합니다. Session 객체를 직접적으로 전달하는 대신, 파티션 문자열을 받는
+  `partition` 옵션을 사용할 수도 있습니다. `session`과 `partition`이 같이
+  제공되었을 경우 `session`이 사용됩니다. 기본값은 기본 세션입니다.
+  * `partition` String - 페이지에서 사용할 세션을 지정합니다. 만약 `partition`이
+    `persist:`로 시작하면 페이지는 지속성 세션을 사용하며 다른 모든 앱 내의
+    페이지에서 같은 `partition`을 사용할 수 있습니다. 만약 `persist:` 접두어로
+    시작하지 않으면 페이지는 인-메모리 세션을 사용합니다. 여러 페이지에서 같은
+    `partition`을 지정하면 같은 세션을 공유할 수 있습니다. `partition`을 지정하지
+    않으면 어플리케이션의 기본 세션이 사용됩니다.
 * `zoomFactor` Number - 페이지의 기본 줌 값을 지정합니다. 예를 들어 `300%`를
   표현하려면 `3.0`으로 지정합니다. 기본값은 `1.0`입니다.
 * `javascript` Boolean - 자바스크립트를 활성화합니다. 기본값은 `false`입니다.
@@ -287,7 +291,8 @@ someWindow.on('app-command', function(e, cmd) {
 
 ### `BrowserWindow.getFocusedWindow()`
 
-어플리케이션에서 포커스된 윈도우를 반환합니다.
+어플리케이션에서 포커스된 윈도우를 반환합니다. 포커스된 윈도우가 없을 경우 `null`을
+반환합니다.
 
 ### `BrowserWindow.fromWebContents(webContents)`
 
@@ -564,12 +569,20 @@ Kiosk(키오스크) 모드를 설정합니다.
 
 현재 윈도우가 kiosk 모드인지 여부를 반환합니다.
 
+### `win.getNativeWindowHandle()`
+
+`Buffer` 상의 플랫폼에 따른 윈도우 핸들을 반환합니다.
+
+핸들의 타입에 따라 적절히 캐스팅됩니다. Windows의 `HWND`, OS X의 `NSView*`, Linux의
+`Window` (`unsigned long`)를 예로 들 수 있습니다.
+
 ### `win.hookWindowMessage(message, callback)` _Windows_
 
 * `message` Integer
 * `callback` Function
 
-Windows 메시지 훅을 등록합니다. `callback`은 WndProc에서 메시지를 받았을 때 호출됩니다.
+Windows 메시지 훅을 등록합니다. `callback`은 WndProc에서 메시지를 받았을 때
+호출됩니다.
 
 ### `win.isWindowMessageHooked(message)` _Windows_
 
index 3fff868..9147f1c 100644 (file)
@@ -78,7 +78,8 @@ console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', '
 `filters`를 지정하면 유저가 저장 가능한 파일 형식을 지정할 수 있습니다. 사용 방법은
 `dialog.showOpenDialog`의 `filters` 속성과 같습니다.
 
-`callback`이 전달되면 메서드가 비동기로 작동되며 결과는 `callback(filename)`을 통해 전달됩니다.
+`callback`이 전달되면 메서드가 비동기로 작동되며 결과는 `callback(filename)`을 통해
+전달됩니다.
 
 ### `dialog.showMessageBox([browserWindow, ]options[, callback])`
 
@@ -88,6 +89,8 @@ console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', '
     하나를 사용할 수 있습니다. Windows에선 따로 `icon`을 설정하지 않은 이상
     "question"과 "info"는 같은 아이콘으로 표시됩니다.
   * `buttons` Array - 버튼들의 라벨을 포함한 배열입니다.
+  * `defaultId` Integer - 메시지 박스가 열렸을 때 기본적으로 선택될 버튼 배열의
+    버튼 인덱스입니다.
   * `title` String - 대화 상자의 제목입니다. 몇몇 플랫폼에선 보이지 않을 수 있습니다.
   * `message` String - 대화 상자의 본문 내용입니다.
   * `detail` String - 메시지의 추가 정보입니다.
index e13794e..9fa8faf 100644 (file)
@@ -38,8 +38,8 @@ var win = new BrowserWindow({ transparent: true, frame: false });
 ### API의 한계
 
 * 투명한 영역을 통과하여 클릭할 수 없습니다. 우리는 이 문제를 해결하기 위해 API를
-  제공할 예정이었지만 현재로써는 [upstream 버그](https://code.google.com/p/chromium/issues/detail?id=387234)로
-  인해 중단된 상태입니다.
+  제공할 예정이며 자세한 내용은
+  [이슈](https://github.com/atom/electron/issues/1335)를 참고하세요.
 * 투명한 창은 크기를 조절할 수 없습니다. `resizable` 속성을 `true`로 할 경우 몇몇
   플랫폼에선 크래시가 일어납니다.
 * `blur` 필터는 웹 페이지에서만 적용됩니다. 윈도우 아래 컨텐츠에는 블러 효과를 적용할
index f01021a..61bf92b 100644 (file)
@@ -195,7 +195,7 @@ if (process.platform == 'darwin') {
   );
 }
 
-menu = Menu.buildFromTemplate(template);
+var menu = Menu.buildFromTemplate(template);
 Menu.setApplicationMenu(menu);
 ```
 
index 935b098..3a09084 100644 (file)
@@ -34,6 +34,9 @@ win.loadURL('https://github.com');
 않습니다. 대신에 이 `BrowserWindow` 객체는 메인 프로세스에서 생성되며 랜더러
 프로세스에 `win` 객체와 같이 이에 대응하는 remote 객체를 반환합니다.
 
+참고로 remote를 통해선 [enumerable 속성](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties)을
+가진 프로퍼티에만 접근할 수 있습니다.
+
 ## Remote 객체의 생명 주기
 
 Electron은 랜더러 프로세스의 remote 객체가 살아있는 한(다시 말해서 GC(garbage
index c857e11..5da0dd0 100644 (file)
@@ -178,47 +178,48 @@ session.defaultSession.cookies.set(cookie, function(error) {
 
 웹 스토리지의 데이터를 비웁니다.
 
+#### `ses.flushStorageData()`
+
+디스크에 사용되지 않은 DOMStorage 데이터를 모두 덮어씌웁니다.
+
 #### `ses.setProxy(config, callback)`
 
-* `config` String
+* `config` Object
+  * `pacScript` String - PAC 파일과 관련된 URL입니다.
+  * `proxyRules` String - 사용할 프록시의 규칙을 나타냅니다.
 * `callback` Function - 작업이 완료되면 호출됩니다.
 
-세션에 사용할 프록시 `config`를 분석하고 프록시를 적용합니다.
+프록시 설정을 적용합니다.
 
-세션에 사용할 프록시는 `config`가 PAC 주소일 경우 그대로 적용하고, 다른 형식일 경우
-다음 규칙에 따라 적용합니다.
+`pacScript`와 `proxyRules`이 같이 제공되면 `proxyRules` 옵션은 무시되며 `pacScript`
+컨픽만 적용됩니다.
+
+`proxyRules`는 다음과 같은 규칙을 따릅니다:
 
 ```
-config = scheme-proxies[";"<scheme-proxies>]
-scheme-proxies = [<url-scheme>"="]<proxy-uri-list>
-url-scheme = "http" | "https" | "ftp" | "socks"
-proxy-uri-list = <proxy-uri>[","<proxy-uri-list>]
-proxy-uri = [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>]
-
-  예시:
-       "http=foopy:80;ftp=foopy2"  -- http:// URL에 "foopy:80" HTTP 프록시를
-                                      사용합니다. "foopy2:80" 는 ftp:// URL에
-                                      사용됩니다.
-       "foopy:80"                  -- 모든 URL에 "foopy:80" 프록시를 사용합니다.
-       "foopy:80,bar,direct://"    -- 모든 URL에 "foopy:80" HTTP 프록시를
-                                      사용합니다. 문제가 발생하여 "foopy:80"를
-                                      사용할 수 없는 경우 "bar"를 대신 사용하여
-                                      장애를 복구하며 그 다음 문제가 생긴 경우
-                                      프록시를 사용하지 않습니다.
-       "socks4://foopy"            -- 모든 URL에 "foopy:1000" SOCKS v4 프록시를
-                                      사용합니다.
-       "http=foopy,socks5://bar.com -- http:// URL에 "foopy" HTTP 프록시를
-                                       사용합니다. 문제가 발생하여 "foopy"를
-                                       사용할 수 없는 경우 SOCKS5 "bar.com"
-                                       프록시를 대신 사용합니다.
-       "http=foopy,direct://       -- http:// URL에 "foopy" HTTP 프록시를
-                                      사용합니다. 그리고 문제가 발생하여 "foopy"를
-                                      사용할 수 없는 경우 프록시를 사용하지 않습니다.
-       "http=foopy;socks=foopy2   --  http:// URL에 "foopy" HTTP 프록시를
-                                      사용합니다. 그리고 "socks4://foopy2"
-                                      프록시를 다른 모든 URL에 사용합니다.
+proxyRules = schemeProxies[";"<schemeProxies>]
+schemeProxies = [<urlScheme>"="]<proxyURIList>
+urlScheme = "http" | "https" | "ftp" | "socks"
+proxyURIList = <proxyURL>[","<proxyURIList>]
+proxyURL = [<proxyScheme>"://"]<proxyHost>[":"<proxyPort>]
 ```
 
+예시:
+* `http=foopy:80;ftp=foopy2` - http:// URL에 `foopy:80` HTTP 프록시를 사용합니다.
+  `foopy2:80` 는 ftp:// URL에 사용됩니다.
+* `foopy:80` - 모든 URL에 `foopy:80` 프록시를 사용합니다.
+* `foopy:80,bar,direct://` - 모든 URL에 `foopy:80` HTTP 프록시를 사용합니다.
+  문제가 발생하여 `foopy:80`를 사용할 수 없는 경우 `bar`를 대신 사용하여 장애를
+  복구하며 그 다음 문제가 생긴 경우 프록시를 사용하지 않습니다.
+* `socks4://foopy` - 모든 URL에 `foopy:1000` SOCKS v4 프록시를 사용합니다.
+* `http=foopy,socks5://bar.com` - http:// URL에 `foopy` HTTP 프록시를 사용합니다.
+  문제가 발생하여 `foopy`를 사용할 수 없는 경우 SOCKS5 `bar.com` 프록시를 대신
+  사용합니다.
+*  `http=foopy,direct://` - http:// URL에 `foopy` HTTP 프록시를 사용합니다. 그리고
+  문제가 발생하여 `foopy`를 사용할 수 없는 경우 프록시를 사용하지 않습니다.
+* `http=foopy;socks=foopy2` - http:// URL에 `foopy` HTTP 프록시를 사용합니다.
+  그리고 `socks4://foopy2` 프록시를 다른 모든 URL에 사용합니다.
+
 ### `app.resolveProxy(url, callback)`
 
 * `url` URL
index 8181c0f..f77ed68 100644 (file)
@@ -88,4 +88,20 @@ webFrame.setSpellCheckProvider("en-US", true, {
 `scheme`를 보안된 스킴으로 등록합니다. 리소스에 대해 보안 정책을 우회하며,
 ServiceWorker의 등록과 fetch API를 사용할 수 있도록 지원합니다.
 
+### `webFrame.insertText(text)`
+
+* `text` String
+
+포커스된 요소에 `text`를 삽입합니다.
+
+### `webFrame.executeJavaScript(code[, userGesture])`
+
+* `code` String
+* `userGesture` Boolean (optional) - 기본값은 `false` 입니다.
+
+페이지에서 `code`를 실행합니다.
+
+브라우저 윈도우에서 어떤 `requestFullScreen` 같은 HTML API는 사용자의 승인이
+필요합니다. `userGesture`를 `true`로 설정하면 이러한 제약을 제거할 수 있습니다.
+
 [spellchecker]: https://github.com/atom/node-spellchecker
index 5917217..a6a84a1 100644 (file)
@@ -340,6 +340,12 @@ Service worker에 대한 개발자 도구를 엽니다.
 
 페이지에서 `replaceMisspelling` 커맨드를 실행합니다.
 
+### `<webview>.insertText(text)`
+
+* `text` String
+
+포커스된 요소에 `text`를 삽입합니다.
+
 ### `webContents.findInPage(text[, options])`
 
 * `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
index a5b0de7..3c79324 100644 (file)
@@ -5,7 +5,7 @@
 ## 빌드전 요구 사항
 
 * Windows 7 / Server 2008 R2 또는 최신 버전
-* Visual Studio 2013 Update 5 - [VS 2013 커뮤니티 에디션 무료 다운로드](http://www.visualstudio.com/products/visual-studio-community-vs)
+* Visual Studio 2013 Update 4 - [VS 2013 커뮤니티 에디션 무료 다운로드](https://www.visualstudio.com/news/vs2013-community-vs)
 * [Python 2.7](http://www.python.org/download/releases/2.7/)
 * [Node.js](http://nodejs.org/download/)
 * [Git](http://git-scm.com)
index d2e50be..91fc59a 100644 (file)
@@ -34,21 +34,10 @@ myNotification.onclick = function () {
   만들어 놔야 합니다. 이 바로가기는 반드시 시작 화면에 설치되어 있어야 합니다. 참고로
   반드시 시작 화면에 고정 할 필요는 없습니다.
 * Windows 7과 그 이하 버전은 데스크톱 알림을 지원하지 않습니다.
-  혹시 "풍선 팝업 알림" 기능을 찾는다면 [Tray API](tray-balloon)를 사용하세요.
+  혹시 "풍선 팝업 알림" 기능을 찾는다면 [Tray API][tray-balloon]를 사용하세요.
 
-이미지를 데스크톱 알림에 사용하려면 알림 옵션의 `icon` 속성에 로컬 이미지 파일
-(`png` 권장)을 지정하면 됩니다. 데스크톱 알림은 잘못된 경로를 지정하거나 `http/https`
-기반의 URL을 지정해도 이미지가 보이지 않을 뿐 정상 작동합니다.
-
-```javascript
-new Notification('Title', {
-  body: 'Notification with icon',
-  icon: 'file:///C:/Users/feriese/Desktop/icon.png'
-});
-```
-
-또한 본문의 최대 길이는 250자 입니다. Windows 개발팀에선 알림 문자열을 200자 이하로
-유지하는 것을 권장합니다.
+또한 알림 본문의 최대 길이는 250자 입니다. Windows 개발팀에선 알림 문자열을 200자
+이하로 유지하는 것을 권장합니다.
 
 ### Linux