diff --git a/README-ko.md b/README-ko.md index c8a3e6c59fb..a0d1a9d3438 100644 --- a/README-ko.md +++ b/README-ko.md @@ -8,16 +8,17 @@ :zap: *프레임워크 이름이 Atom Shell에서 Electron으로 변경되었습니다* :zap: -Electron 프레임워크는 JavaScript, HTML 그리고 CSS를 사용하여 Cross-Platform 데스크톱 어플리케이션을 개발할 수 있도록 해주는 프레임워크입니다. 이 프레임워크는 [Node.js](https://nodejs.org) 와 -[Chromium](http://www.chromium.org)을 기반으로 만들어 졌으며 [Atom Editor](https://github.com/atom/atom)에 사용되고 있습니다. +Electron 프레임워크는 JavaScript, HTML 그리고 CSS를 사용하여 Cross-Platform 데스크톱 어플리케이션을 개발할 수 있도록 해주는 프레임워크입니다. +이 프레임워크는 [Node.js](https://nodejs.org/) 와 [Chromium](http://www.chromium.org)을 기반으로 만들어 졌으며 +[Atom Editor](https://github.com/atom/atom)에 사용되고 있습니다. Electron에 대한 중요한 알림을 받고 싶다면 Twitter에서 [@ElectronJS](https://twitter.com/electronjs)를 팔로우 하세요. -이 프로젝트는 기여자 규약 1.2를 준수합니다. 이 프로젝트에 참여할 때 코드를 유지해야 합니다. 받아들일 수 없는 행동은 atom@github.com로 보고 하십시오. +이 프로젝트는 [기여자 규약 1.2](http://contributor-covenant.org/version/1/2/0/)를 준수합니다. 이 프로젝트에 참여할 때 코드를 유지해야 합니다. 받아들일 수 없는 행위를 발견했을 경우 atom@github.com로 보고 하십시오. ## 다운로드 -Linux, Windows, Mac용으로 미리 빌드된 Electron 바이너리와 디버그 심볼이 준비되어 있습니다. [releases](https://github.com/atom/electron/releases) 페이지에서 받아 볼 수 있습니다. +Linux, Windows, OS X 용으로 미리 빌드된 Electron 바이너리와 디버그 심볼이 준비되어 있습니다. [releases](https://github.com/atom/electron/releases) 페이지에서 받아 볼 수 있습니다. 또한 [`npm`](https://docs.npmjs.com/)을 통해 미리 빌드된 Electron 바이너리를 받을 수도 있습니다: @@ -55,7 +56,7 @@ Electron을 빌드 하는 방법과 프로젝트에 기여하는 방법도 문 다음 링크를 통해 커뮤니티에 질문을 올리거나 토론을 나눌 수 있습니다: -- Atom 포럼의 [`electron`](http://discuss.atom.io/category/electron) 카테고리 +- Atom 포럼의 [`electron`](http://discuss.atom.io/c/electron) 카테고리 - Freenode 채팅의 `#atom-shell` 채널 - Slack의 [`Atom`](http://atom-slack.herokuapp.com/) 채널 diff --git a/docs-translations/ko-KR/README.md b/docs-translations/ko-KR/README.md index 73df1624152..c4c77119495 100644 --- a/docs-translations/ko-KR/README.md +++ b/docs-translations/ko-KR/README.md @@ -31,32 +31,32 @@ ### 메인 프로세스에서 사용할 수 있는 모듈: * [app](api/app.md) -* [auto-updater](api/auto-updater.md) -* [browser-window (0% 번역됨)](api/browser-window.md) -* [content-tracing](api/content-tracing.md) +* [autoUpdater](api/auto-updater.md) +* [BrowserWindow (0% 번역됨)](api/browser-window.md) +* [contentTracing](api/content-tracing.md) * [dialog](api/dialog.md) -* [global-shortcut](api/global-shortcut.md) -* [ipc-main](api/ipc-main.md) -* [menu](api/menu.md) -* [menu-item](api/menu-item.md) -* [power-monitor](api/power-monitor.md) -* [power-save-blocker](api/power-save-blocker.md) +* [globalShortcut](api/global-shortcut.md) +* [ipcMain](api/ipc-main.md) +* [Menu](api/menu.md) +* [MenuItem](api/menu-item.md) +* [powerMonitor](api/power-monitor.md) +* [powerSaveBlocker](api/power-save-blocker.md) * [protocol](api/protocol.md) * [session](api/session.md) -* [web-contents (0% 번역됨)](api/web-contents.md) -* [tray](api/tray.md) +* [webContents (0% 번역됨)](api/web-contents.md) +* [Tray](api/tray.md) ### 랜더러 프로세스에서 사용할 수 있는 모듈 (웹 페이지): -* [ipc-renderer](api/ipc-renderer.md) +* [ipcRenderer](api/ipc-renderer.md) * [remote](api/remote.md) -* [web-frame](api/web-frame.md) +* [webFrame](api/web-frame.md) ### 두 프로세스 모두 사용할 수 있는 모듈: * [clipboard](api/clipboard.md) -* [crash-reporter](api/crash-reporter.md) -* [native-image](api/native-image.md) +* [crashReporter](api/crash-reporter.md) +* [nativeImage](api/native-image.md) * [screen](api/screen.md) * [shell](api/shell.md) diff --git a/docs-translations/ko-KR/api/app.md b/docs-translations/ko-KR/api/app.md index f5e8e8d96b9..e3764274309 100644 --- a/docs-translations/ko-KR/api/app.md +++ b/docs-translations/ko-KR/api/app.md @@ -5,7 +5,7 @@ 밑의 예제는 마지막 윈도우창가 종료되었을 때, 어플리케이션을 종료시키는 예제입니다: ```javascript -var app = require('app'); +const app = require('electron').app; app.on('window-all-closed', function() { app.quit(); }); @@ -240,6 +240,12 @@ GPU가 작동하던 중 크래시가 일어났을 때 발생하는 이벤트입 * `userDesktop` - 현재 사용자의 데스트탑 디렉터리. * `exe` - 현재 실행중인 Electron 바이너리 파일. * `module` - `libchromiumcontent` 라이브러리. +* `desktop` - 사용자의 데스크탑 디렉터리. +* `documents` - 사용자의 "내 문서" 디렉터리. +* `downloads` - 사용자의 다운로드 디렉터리. +* `music` - 사용자의 음악 디렉터리. +* `pictures` - 사용자의 사진 디렉터리. +* `videos` - 사용자의 동영상 디렉터리. ### `app.setPath(name, path)` diff --git a/docs-translations/ko-KR/api/auto-updater.md b/docs-translations/ko-KR/api/auto-updater.md index f12d04042ef..1b0d9c032cc 100644 --- a/docs-translations/ko-KR/api/auto-updater.md +++ b/docs-translations/ko-KR/api/auto-updater.md @@ -62,7 +62,7 @@ Returns: * `releaseNotes` String * `releaseName` String * `releaseDate` Date -* `updateUrl` String +* `updateURL` String 업데이트의 다운로드가 완료되었을 때 발생하는 이벤트입니다. @@ -70,7 +70,7 @@ Returns: `autoUpdater` 객체에서 사용할 수 있는 메서드입니다: -### `autoUpdater.setFeedUrl(url)` +### `autoUpdater.setFeedURL(url)` * `url` String @@ -78,7 +78,7 @@ Returns: ### `autoUpdater.checkForUpdates()` -서버에 새로운 업데이트가 있는지 요청을 보내 확인합니다. API를 사용하기 전에 `setFeedUrl`를 호출해야 합니다. +서버에 새로운 업데이트가 있는지 요청을 보내 확인합니다. API를 사용하기 전에 `setFeedURL`를 호출해야 합니다. ### `autoUpdater.quitAndInstall()` diff --git a/docs-translations/ko-KR/api/chrome-command-line-switches.md b/docs-translations/ko-KR/api/chrome-command-line-switches.md index aea9c49a102..216d402c41e 100644 --- a/docs-translations/ko-KR/api/chrome-command-line-switches.md +++ b/docs-translations/ko-KR/api/chrome-command-line-switches.md @@ -5,7 +5,7 @@ 어플리케이션 내부에서 스위치들을 추가할 수 있습니다: ```javascript -var app = require('app'); +const app = require('electron').app; app.commandLine.appendSwitch('remote-debugging-port', '8315'); app.commandLine.appendSwitch('host-rules', 'MAP * 127.0.0.1'); @@ -28,7 +28,16 @@ HTTP 요청 캐시를 비활성화 합니다. ## --remote-debugging-port=`port` -지정한 `port`에 HTTP기반의 리모트 디버거를 활성화 시킵니다. (개발자 콘솔) +지정한 `port`에 HTTP 기반의 리모트 디버거를 활성화 시킵니다. (개발자 콘솔) + +## --js-flags=`flags` + +JS 엔진에 지정한 플래그를 전달합니다. +`flags`를 메인 프로세스에서 활성화하고자 한다면, Electron이 시작되기 전에 스위치를 전달해야 합니다. + +```bash +$ electron --js-flags="--harmony_proxies --harmony_collections" your-app +``` ## --proxy-server=`address:port` diff --git a/docs-translations/ko-KR/api/clipboard.md b/docs-translations/ko-KR/api/clipboard.md index 080078274e0..01f1945856f 100644 --- a/docs-translations/ko-KR/api/clipboard.md +++ b/docs-translations/ko-KR/api/clipboard.md @@ -3,14 +3,13 @@ `clipboard` 모듈은 복사/붙여넣기 작업을 수행하는 방법을 제공합니다. 다음 예제는 클립보드에 문자열을 씁니다: ```javascript -var clipboard = require('clipboard'); +const clipboard = require('electron').clipboard; clipboard.writeText('Example String'); ``` X Window 시스템에선 selection 클립보드도 존재합니다. 이를 사용하려면 인자 뒤에 `selection` 문자열을 같이 지정해주어야 합니다: ```javascript -var clipboard = require('clipboard'); clipboard.writeText('Example String', 'selection'); console.log(clipboard.readText('selection')); ``` @@ -78,7 +77,6 @@ console.log(clipboard.readText('selection')); 클립보드가 지정한 `data`의 형식을 지원하는지 확인합니다. ```javascript -var clipboard = require('clipboard'); console.log(clipboard.has('

selection

')); ``` @@ -98,7 +96,6 @@ console.log(clipboard.has('

selection

')); * `type` String (optional) ```javascript -var clipboard = require('clipboard'); clipboard.write({text: 'test', html: "test"}); ``` diff --git a/docs-translations/ko-KR/api/content-tracing.md b/docs-translations/ko-KR/api/content-tracing.md index 08221fbc707..f5f8b03d294 100644 --- a/docs-translations/ko-KR/api/content-tracing.md +++ b/docs-translations/ko-KR/api/content-tracing.md @@ -4,9 +4,14 @@ 이 모듈은 웹 인터페이스를 포함하고 있지 않으며 크롬 브라우저에서 `chrome://tracing/` 페이지를 열어 생성된 파일을 로드하면 결과를 볼 수 있습니다. ```javascript -var contentTracing = require('content-tracing'); +const contentTracing = require('electron').contentTracing; -contentTracing.startRecording('*', contentTracing.DEFAULT_OPTIONS, function() { +const options = { + categoryFilter: '*', + traceOptions: 'record-until-full,enable-sampling' +}; + +contentTracing.startRecording(options, function() { console.log('Tracing started'); setTimeout(function() { diff --git a/docs-translations/ko-KR/api/crash-reporter.md b/docs-translations/ko-KR/api/crash-reporter.md index 88cd3b82f30..a5d29551571 100644 --- a/docs-translations/ko-KR/api/crash-reporter.md +++ b/docs-translations/ko-KR/api/crash-reporter.md @@ -5,12 +5,12 @@ 다음 예제는 윈격 서버에 어플리케이션 크래시 정보를 자동으로 보고하는 예제입니다: ```javascript -var crashReporter = require('crash-reporter'); +const crashReporter = require('electron').crashReporter; crashReporter.start({ productName: 'YourName', companyName: 'YourCompany', - submitUrl: 'https://your-domain.com/url-to-submit', + submitURL: 'https://your-domain.com/url-to-submit', autoSubmit: true }); ``` @@ -25,7 +25,7 @@ crashReporter.start({ * `productName` String, 기본값: Electron * `companyName` String, 기본값: GitHub, Inc -* `submitUrl` String, 기본값: http://54.249.141.255:1127/post +* `submitURL` String, 기본값: http://54.249.141.255:1127/post * 크래시 리포트는 POST 방식으로 이 URL로 전송됩니다. * `autoSubmit` Boolean, 기본값: true * true로 지정할 경우 유저의 승인 없이 자동으로 오류를 보고합니다. @@ -52,7 +52,7 @@ crashReporter.start({ ## crash-reporter 업로드 형식 -Crash Reporter는 다음과 같은 데이터를 `submitUrl`에 `POST` 방식으로 전송합니다: +Crash Reporter는 다음과 같은 데이터를 `submitURL`에 `POST` 방식으로 전송합니다: * `ver` String - Electron의 버전 * `platform` String - 예시 'win32' diff --git a/docs-translations/ko-KR/api/dialog.md b/docs-translations/ko-KR/api/dialog.md index 08530c05479..e7e81240da0 100644 --- a/docs-translations/ko-KR/api/dialog.md +++ b/docs-translations/ko-KR/api/dialog.md @@ -7,7 +7,7 @@ ```javascript var win = ...; // 대화 상자를 사용할 BrowserWindow 객체 -var dialog = require('dialog'); +const dialog = require('electron').dialog; console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', 'multiSelections' ]})); ``` diff --git a/docs-translations/ko-KR/api/download-item.md b/docs-translations/ko-KR/api/download-item.md new file mode 100644 index 00000000000..95a00c85753 --- /dev/null +++ b/docs-translations/ko-KR/api/download-item.md @@ -0,0 +1,97 @@ +# DownloadItem + +`DownloadItem`은 EventEmitter를 상속받았으며 Electron의 다운로드 아이템을 표현합니다. +이 클래스 객체는 `Session` 모듈의 `will-download` 이벤트에 사용되며 +사용자가 다운로드 아이템을 다룰 수 있도록 도와줍니다. + +```javascript +// 메인 프로세스 +win.webContents.session.on('will-download', function(event, item, webContents) { + // Set the save path, making Electron not to prompt a save dialog. + item.setSavePath('/tmp/save.pdf'); + console.log(item.getMimeType()); + console.log(item.getFilename()); + console.log(item.getTotalBytes()); + item.on('updated', function() { + console.log('Received bytes: ' + item.getReceivedBytes()); + }); + item.on('done', function(e, state) { + if (state == "completed") { + console.log("Download successfully"); + } else { + console.log("Download is cancelled or interrupted that can't be resumed"); + } + }); +``` + +## Events + +### Event: 'updated' + +`downloadItem`이 갱신될 때 발생하는 이벤트입니다. + +### Event: 'done' + +* `event` Event +* `state` String + * `completed` - 다운로드가 성공적으로 완료되었습니다. + * `cancelled` - 다운로드가 취소되었습니다. + * `interrupted` - 다운로드 중 파일 서버로부터의 연결이 끊겼습니다. + +다운로드가 종료될 때 발생하는 이벤트입니다. +이 이벤트는 다운로드 중 문제가 발생하여 중단되거나, 모두 성공적으로 완료된 경우, +`downloadItem.cancel()` 같은 메서드를 통해 취소하는 경우의 종료 작업이 모두 포함됩니다. + +## Methods + +`downloadItem` 객체는 다음과 같은 메서드를 가지고 있습니다: + +### `downloadItem.setSavePath(path)` + +* `path` String - 다운로드 아이템을 저장할 파일 경로를 지정합니다. + +이 API는 세션의 `will-download` 콜백 함수에서만 사용할 수 있습니다. +사용자가 API를 통해 아무 경로도 설정하지 않을 경우 Electron은 기본 루틴 파일 저장을 실행합니다. (파일 대화 상자를 엽니다) + +### `downloadItem.pause()` + +다운로드를 일시 중지합니다. + +### `downloadItem.resume()` + +중디된 다운로드를 재개합니다. + +### `downloadItem.cancel()` + +다운로드를 취소합니다. + +### `downloadItem.getURL()` + +다운로드 아이템의 URL을 표현하는 문자열을 반환합니다. + +### `downloadItem.getMimeType()` + +다우로드 아이템의 MIME 타입을 표현하는 문자열을 반환합니다. + +### `downloadItem.hasUserGesture()` + +현재 다운로드가 유저 제스쳐(작업)로인한 다운로드인지 여부를 반환합니다. + +### `downloadItem.getFilename()` + +다운로드 아이템의 파일 이름을 표현하는 문자열을 반환합니다. + +**참고:** 실제 파일 이름과 로컬 디스크에 저장되는 파일의 이름은 서로 다를 수 있습니다. 예를 들어 +만약 사용자가 파일을 저장할 때 파일 이름을 바꿨다면 실제 파일 이름과 저장 파일 이름은 서로 달라지게 됩니다. + +### `downloadItem.getTotalBytes()` + +현재 아이템의 전체 다운로드 크기를 정수로 반환합니다. 크기가 unknown이면 0을 반환합니다. + +### `downloadItem.getReceivedBytes()` + +현재 아이템의 다운로드 완료된 바이트 값을 정수로 반환합니다. + +### `downloadItem.getContentDisposition()` + +응답 헤더에서 Content-Disposition 필드를 문자열로 반환합니다. diff --git a/docs-translations/ko-KR/api/frameless-window.md b/docs-translations/ko-KR/api/frameless-window.md index 28662c311ba..decc0217ed1 100644 --- a/docs-translations/ko-KR/api/frameless-window.md +++ b/docs-translations/ko-KR/api/frameless-window.md @@ -9,7 +9,7 @@ Frameless Window는 [테두리](https://developer.mozilla.org/en-US/docs/Glossar Frameless Window를 만드려면 [BrowserWindow](browser-window.md) 객체의 `options`에서 `frame` 옵션을 `false`로 지정하면 됩니다: ```javascript -var BrowserWindow = require('browser-window'); +const BrowserWindow = require('electron').BrowserWindow; var win = new BrowserWindow({ width: 800, height: 600, frame: false }); ``` @@ -20,8 +20,8 @@ OS X 10.10 Yosemite 이후의 최신 버전부터는 테두리가 없는 창을 옵션을 통해 제목만 숨기고 창 구성 요소("흔히 신호등으로 알고 있는")의 기능과 창 크기를 그대로 유지할 수 있습니다: ```javascript -var BrowserWindow = require('browser-window'); -var win = new BrowserWindow({ width: 800, height: 600, 'title-bar-style': 'hidden' }); +var win = new BrowserWindow({ 'title-bar-style': 'hidden' }); +``` ## 투명한 창 만들기 diff --git a/docs-translations/ko-KR/api/global-shortcut.md b/docs-translations/ko-KR/api/global-shortcut.md index f000a3bdb6a..2120f73cc5c 100644 --- a/docs-translations/ko-KR/api/global-shortcut.md +++ b/docs-translations/ko-KR/api/global-shortcut.md @@ -7,8 +7,9 @@ 이 모듈은 `app` 모듈의 `ready` 이벤트 이전에 사용할 수 없습니다. ```javascript -var app = require('app'); -var globalShortcut = require('global-shortcut'); +const electron = require('electron'); +const app = electron.app; +const globalShortcut = electron.globalShortcut; app.on('ready', function() { // 'ctrl+x' 단축키를 리스너에 등록합니다. diff --git a/docs-translations/ko-KR/api/ipc-main.md b/docs-translations/ko-KR/api/ipc-main.md index cecbf980e72..fae8aa4d5cf 100644 --- a/docs-translations/ko-KR/api/ipc-main.md +++ b/docs-translations/ko-KR/api/ipc-main.md @@ -16,25 +16,25 @@ ```javascript // 메인 프로세스 -var ipc = require('ipc'); +const ipcMain = require('electron').ipcMain; ipc.on('asynchronous-message', function(event, arg) { - console.log(arg); // prints "ping" + console.log(arg); // "ping" 출력 event.sender.send('asynchronous-reply', 'pong'); }); ipc.on('synchronous-message', function(event, arg) { - console.log(arg); // prints "ping" + console.log(arg); // "ping" 출력 event.returnValue = 'pong'; }); ``` ```javascript // 랜더러 프로세스 (웹 페이지) -var ipc = require('ipc'); -console.log(ipc.sendSync('synchronous-message', 'ping')); // prints "pong" +const ipcRenderer = require('electron').ipcRenderer; +console.log(ipc.sendSync('synchronous-message', 'ping')); // "pong" 출력 ipc.on('asynchronous-reply', function(arg) { - console.log(arg); // prints "pong" + console.log(arg); // "pong" 출력 }); ipc.send('asynchronous-message', 'ping'); ``` diff --git a/docs-translations/ko-KR/api/menu.md b/docs-translations/ko-KR/api/menu.md index 56b7f4a198e..d55fa807a36 100644 --- a/docs-translations/ko-KR/api/menu.md +++ b/docs-translations/ko-KR/api/menu.md @@ -11,9 +11,9 @@ ```html - + + + ``` 어플리케이션을 실행하려면 [앱 실행하기](../tutorial/quick-start.md#앱 실행하기) 문서를 참고하기 바랍니다. + +## 분리 할당 + +만약 CoffeeScript나 Babel을 사용하고 있다면, 빌트인 모듈을 사용할 때 +[분리 할당][desctructuring-assignment]을 통해 직관적으로 사용할 수 있습니다: + +```javascript +const {app, BrowserWindow} = require('electron') +``` + +아직 플레인 자바스크립트를 쓰고 있다면, Chrome이 ES6를 완전히 지원하기 전까지 기다려야 합니다. + +## 이전 스타일의 빌트인 모듈 비활성화 + +v0.35.0 이전 버전에선 빌트인 모듈이 모두 `require('module-name')`같은 형식으로 사용되었습니다. +하지만 [많은 단점][issue-387]이 있기 때문에 현재 변경되었습니다. +하지만 오래된 앱의 호환성 유지를 위해 아직 구 버전 API를 지원하고 있습니다. + +완벽하게 모든 구 버전 API를 비활성화하려면 `ELECTRON_HIDE_INTERNAL_MODULES` 환경 변수를 설정하면 됩니다: + +```javascript +process.env.ELECTRON_HIDE_INTERNAL_MODULES = 'true' +``` + +또는 `hideInternalModules` API를 사용해도 됩니다: + +```javascript +require('electron').hideInternalModules() +``` + +[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface +[main-process]: ../tutorial/quick-start.md#메인-프로세스 +[desctructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment +[issue-387]: https://github.com/atom/electron/issues/387 \ No newline at end of file diff --git a/docs-translations/ko-KR/api/tray.md b/docs-translations/ko-KR/api/tray.md index 22fec3089e6..96722bb2409 100644 --- a/docs-translations/ko-KR/api/tray.md +++ b/docs-translations/ko-KR/api/tray.md @@ -3,9 +3,10 @@ `Tray`는 OS의 알림 영역에 아이콘을 표시합니다. 보통 컨텍스트 메뉴(context menu)를 같이 사용합니다. ```javascript -var app = require('app'); -var Menu = require('menu'); -var Tray = require('tray'); +const electron = require('electron'); +const app = electron.app; +const Menu = electron.Menu; +const Tray = electron.Tray; var appIcon = null; app.on('ready', function(){ @@ -29,7 +30,7 @@ __플랫폼별 한계:__ * 앱 알림 표시기는 컨텍스트 메뉴를 가지고 있을 때만 보입니다. * Linux에서 앱 알림 표시기가 사용될 경우, `clicked` 이벤트는 무시됩니다. -이러한 이유로 Tray API가 모든 플랫폼에서 똑같이 작동하게 하고 싶다면 `clicked` 이벤트에 의존해선 안됩니다. +이러한 이유로 Tray API가 모든 플랫폼에서 똑같이 작동하게 하고 싶다면 `click` 이벤트에 의존해선 안됩니다. 그리고 언제나 컨텍스트 메뉴를 포함해야 합니다. ## Class: Tray @@ -48,7 +49,7 @@ __플랫폼별 한계:__ **참고:** 몇가지 이벤트는 특정한 플랫폼에서만 작동합니다. -### Event: 'clicked' +### Event: 'click' * `event` Event * `altKey` Boolean @@ -65,7 +66,7 @@ __플랫폼별 한계:__ __주의:__ `bounds`는 OS X 와 Windows에서만 작동합니다. -### Event: 'right-clicked' _OS X_ _Windows_ +### Event: 'right-click' _OS X_ _Windows_ * `event` Event * `altKey` Boolean @@ -80,7 +81,7 @@ __주의:__ `bounds`는 OS X 와 Windows에서만 작동합니다. 트레이 아이콘을 오른쪽 클릭될 때 호출 됩니다. -### Event: 'double-clicked' _OS X_ _Windows_ +### Event: 'double-click' _OS X_ _Windows_ * `event` Event * `altKey` Boolean @@ -97,15 +98,15 @@ __주의:__ `bounds`는 OS X 와 Windows에서만 작동합니다. ### Event: 'balloon-show' _Windows_ -알림풍선이 보여질 때 발생하는 이벤트입니다. +풍선 팝업이 보여질 때 발생하는 이벤트입니다. -### Event: 'balloon-clicked' _Windows_ +### Event: 'balloon-click' _Windows_ -알림풍선이 클릭될 때 발생하는 이벤트입니다. +풍선 팝업이 클릭될 때 발생하는 이벤트입니다. ### Event: 'balloon-closed' _Windows_ -알림풍선이 시간이 지나 사라지거나 유저가 클릭하여 닫을 때 발생하는 이벤트입니다. +풍선 팝업이 시간이 지나 사라지거나 유저가 클릭하여 닫을 때 발생하는 이벤트입니다. ### Event: 'drop' _OS X_ @@ -177,7 +178,7 @@ __주의:__ `bounds`는 OS X 와 Windows에서만 작동합니다. * `title` String * `content` String -트레이에 알림풍선을 생성합니다. +트레이에 풍선 팝업을 생성합니다. ### `Tray.popContextMenu([position])` _OS X_ _Windows_ diff --git a/docs-translations/ko-KR/api/web-frame.md b/docs-translations/ko-KR/api/web-frame.md index d09114e559c..5b94a9a6ad7 100644 --- a/docs-translations/ko-KR/api/web-frame.md +++ b/docs-translations/ko-KR/api/web-frame.md @@ -5,7 +5,7 @@ 다음 예제는 현재 페이지를 200% 줌 합니다: ```javascript -var webFrame = require('web-frame'); +var webFrame = require('electron').webFrame; webFrame.setZoomFactor(2); ``` @@ -55,14 +55,14 @@ Input field나 text area에 철자 검사(spell checking) 제공자를 설정합 [node-spellchecker][spellchecker]를 철자 검사 제공자로 사용하는 예제입니다: ```javascript -require('web-frame').setSpellCheckProvider("en-US", true, { +webFrame.setSpellCheckProvider("en-US", true, { spellCheck: function(text) { return !(require('spellchecker').isMisspelled(text)); } }); ``` -### `webFrame.registerUrlSchemeAsSecure(scheme)` +### `webFrame.registerURLSchemeAsSecure(scheme)` * `scheme` String @@ -70,10 +70,16 @@ require('web-frame').setSpellCheckProvider("en-US", true, { 보안 스킴은 혼합된 컨텐츠 경고를 발생시키지 않습니다. 예를 들어 `https` 와 `data`는 네트워크 공격자로부터 손상될 가능성이 없기 때문에 보안 스킴이라고 할 수 있습니다. -### `webFrame.registerUrlSchemeAsBypassingCsp(scheme)` +### `webFrame.registerURLSchemeAsBypassingCSP(scheme)` * `scheme` String -현재 페이지 컨텐츠의 보안 정책에 상관없이 이 `scheme`로부터 리소스가 로드됩니다. +현재 페이지 컨텐츠의 보안 정책에 상관없이 `scheme`로부터 리소스가 로드됩니다. + +### `webFrame.registerURLSchemeAsPrivileged(scheme)` + + * `scheme` String + +보안 `scheme`를 지정합니다. 리소스와 ServiceWorker 설정에 대해 보안 정책을 우회합니다. [spellchecker]: https://github.com/atom/node-spellchecker diff --git a/docs-translations/ko-KR/api/web-view-tag.md b/docs-translations/ko-KR/api/web-view-tag.md index bb9a1305c8a..eb40151a234 100644 --- a/docs-translations/ko-KR/api/web-view-tag.md +++ b/docs-translations/ko-KR/api/web-view-tag.md @@ -156,7 +156,7 @@ webview.addEventListener("dom-ready", function() { }); ``` -### `.getUrl()` +### `.getURL()` 페이지의 URL을 반환합니다. @@ -376,7 +376,7 @@ Returns: * `errorCode` Integer * `errorDescription` String -* `validatedUrl` String +* `validatedURL` String `did-finish-load`와 비슷합니다. 하지만 이 이벤트는 `window.stop()`과 같은 무언가로 인해 로드에 실패했을 때 발생하는 이벤트입니다. @@ -401,8 +401,8 @@ Returns: Returns: * `status` Boolean -* `newUrl` String -* `originalUrl` String +* `newURL` String +* `originalURL` String * `httpResponseCode` Integer * `requestMethod` String * `referrer` String @@ -415,8 +415,8 @@ Returns: Returns: -* `oldUrl` String -* `newUrl` String +* `oldURL` String +* `newURL` String * `isMainFrame` Boolean 리소스를 요청하고 받는 도중에 리다이렉트가 생기면 발생하는 이벤트입니다. @@ -484,7 +484,7 @@ Returns: ```javascript webview.addEventListener('new-window', function(e) { - require('shell').openExternal(e.url); + require('electron').shell.openExternal(e.url); }); ``` @@ -522,9 +522,9 @@ webview.send('ping'); ```javascript // In guest page. -var ipc = require('ipc'); -ipc.on('ping', function() { - ipc.sendToHost('pong'); +var ipcRenderer = require('electron').ipcRenderer; +ipcRenderer.on('ping', function() { + ipcRenderer.sendToHost('pong'); }); ``` diff --git a/docs-translations/ko-KR/tutorial/application-packaging.md b/docs-translations/ko-KR/tutorial/application-packaging.md index d7a96dbb4b4..9a5e3dfb20e 100644 --- a/docs-translations/ko-KR/tutorial/application-packaging.md +++ b/docs-translations/ko-KR/tutorial/application-packaging.md @@ -47,14 +47,14 @@ $ asar list /path/to/example.asar `asar` 아카이브에선 다음과 같이 파일을 읽을 수 있습니다: ```javascript -var fs = require('fs'); +const fs = require('fs'); fs.readFileSync('/path/to/example.asar/file.txt'); ``` 아카이브 내의 루트 디렉터리를 리스팅합니다: ```javascript -var fs = require('fs'); +const fs = require('fs'); fs.readdirSync('/path/to/example.asar'); ``` @@ -67,9 +67,9 @@ require('/path/to/example.asar/dir/module.js'); `BrowserWindow` 클래스를 이용해 원하는 웹 페이지도 표시할 수 있습니다: ```javascript -var BrowserWindow = require('browser-window'); +const BrowserWindow = require('electron').BrowserWindow; var win = new BrowserWindow({width: 800, height: 600}); -win.loadUrl('file:///path/to/example.asar/static/index.html'); +win.loadURL('file:///path/to/example.asar/static/index.html'); ``` ### Web API @@ -90,8 +90,8 @@ $.get('file:///path/to/example.asar/file.txt', function(data) { ### `asar` 아카이브를 일반 파일로 취급하기 -`asar` 아카이브의 체크섬(checksum)등을 검사하기 위해선 `asar` 아카이브를 파일 그대로 읽어들여야 할 필요가 있습니다. -이 작업을 하기 위해 `original-fs`라고 하는 빌트인 모듈을 `fs` 모듈 대신에 사용할 수 있습니다. +`asar` 아카이브의 체크섬(checksum)을 검사하는 작업등을 하기 위해선 `asar` 아카이브를 파일 그대로 읽어야 합니다. +이러한 작업을 하기 위해 `original-fs` 빌트인 모듈을 `fs` 모듈 대신에 사용할 수 있습니다. 이 모듈은 `asar` 지원이 빠져있습니다. 즉 파일 그대로를 읽어들입니다: ```javascript @@ -112,13 +112,13 @@ originalFs.readFileSync('/path/to/example.asar'); `asar` 아카이브는 디렉터리처럼 사용할 수 있도록 구현되었지만 그것은 실제 파일시스템의 디렉터리가 아닌 가상의 디렉터리입니다. 그런 이유로 몇몇 API에서 지원하는 `cwd` 옵션을 `asar` 아카이브 안의 디렉터리 경로로 지정하면 나중에 문제가 발생할 수 있습니다. -### 특정 API로 인한 예외적인 압축 해제 +### 특정 API로 인한 예외적인 아카이브 압축 해제 많은 `fs` API가 `asar` 아카이브의 압축을 해제하지 않고 바로 아카이브를 읽거나 정보를 가져올 수 있으나 -몇몇 API는 시스템의 실제 파일의 경로를 기반으로 작동하므로 이 API들을 사용할 땐 Electron은 -이 API가 원할하게 작동할 수 있도록 하기 위해 임시경로에 해당 파일들의 압축을 해제합니다. 이 작업은 약간의 오버헤드를 불러 일으킬 수 있습니다. +몇몇 API는 시스템의 실제 파일의 경로를 기반으로 작동하므로 Electron은 API가 원할하게 작동할 수 있도록 +임시 경로에 해당되는 파일의 압축을 해제합니다. 이 작업은 약간의 오버헤드를 불러 일으킬 수 있습니다. -해당하는 API 메서드는 다음과 같습니다: +위 예외에 해당하는 API 메서드는 다음과 같습니다: * `child_process.execFile` * `fs.open` @@ -127,7 +127,7 @@ originalFs.readFileSync('/path/to/example.asar'); ### `fs.stat`의 잘못된 스테이터스 정보 -`fs.stat` 로 부터 반환되는 `Stats` 객체와 비슷한 API들은 `asar` 아카이브를 타겟으로 할 경우 예측된 디렉터리 피일 정보를 가집니다. +`fs.stat` 로 부터 반환되는 `Stats` 객체와 비슷한 API들은 `asar` 아카이브를 타겟으로 할 경우 예측된 디렉터리 파일 정보를 가집니다. 왜냐하면 아카이브의 디렉터리 경로는 실제 파일시스템에 존재하지 않기 때문입니다. 그러한 이유로 파일 크기와 파일 타입 등을 확인할 때 `Stats` 객체를 신뢰해선 안됩니다. @@ -145,6 +145,6 @@ $ asar pack app app.asar --unpack *.node 커맨드를 실행한 후 같은 디렉터리에 `app.asar` 파일 외에 `app.asar.unpacked` 폴더가 같이 생성됩니다. 이 폴더안에 unpack 옵션에서 설정한 파일들이 압축이 풀린 상태로 포함되어 있습니다. -유저에게 어플리케이션을 배포할 때 반드시 해당 폴더도 같이 배포하여야합니다. +사용자에게 어플리케이션을 배포할 때 반드시 해당 폴더도 같이 배포해야 합니다. [asar]: https://github.com/atom/asar diff --git a/docs-translations/ko-KR/tutorial/desktop-environment-integration.md b/docs-translations/ko-KR/tutorial/desktop-environment-integration.md index 1212cbb9c43..fe0a6450bc1 100644 --- a/docs-translations/ko-KR/tutorial/desktop-environment-integration.md +++ b/docs-translations/ko-KR/tutorial/desktop-environment-integration.md @@ -28,7 +28,7 @@ myNotification.onclick = function () { * Windows 10에선 "아무 문제 없이 잘" 작동합니다. * Windows 8.1과 8에선 [Application User Model ID][app-user-model-id]로 바로가기를 만들어 놔야 합니다. 이 바로가기는 반드시 시작 화면에 설치되어 있어야 합니다. 참고로 반드시 시작 화면에 고정 할 필요는 없습니다. -* Windows 7과 그 이하 버전은 데스크톱 알림을 지원하지 않습니다. 혹시 "풍선 알림" 기능을 찾는다면 [Tray API](tray-balloon)를 사용하세요. +* Windows 7과 그 이하 버전은 데스크톱 알림을 지원하지 않습니다. 혹시 "풍선 팝업 알림" 기능을 찾는다면 [Tray API](tray-balloon)를 사용하세요. 이미지를 데스크톱 알림에 사용하려면 알림 옵션의 `icon` 속성에 로컬 이미지 파일(`png` 권장)을 지정하면 됩니다. 데스크톱 알림은 잘못된 경로를 지정하거나 `http/https` 기반의 URL을 지정해도 이미지가 보이지 않을 뿐 정상 작동합니다. @@ -70,7 +70,6 @@ __어플리케이션 dock menu:__ 파일을 최근 문서에 추가하려면 [app.addRecentDocument][addrecentdocument] API를 사용할 수 있습니다: ```javascript -var app = require('app'); app.addRecentDocument('/Users/USERNAME/Desktop/work.type'); ``` @@ -104,8 +103,10 @@ __Terminal.app의 dock menu:__ 커스텀 dock menu를 설정하려면 `app.dock.setMenu` API를 사용하면 됩니다. OS X에서만 사용 가능합니다: ```javascript -var app = require('app'); -var Menu = require('menu'); +const electron = require('electron'); +const app = electron.app; +const Menu = electron.Menu; + var dockMenu = Menu.buildFromTemplate([ { label: 'New Window', click: function() { console.log('New Window'); } }, { label: 'New Window with Settings', submenu: [ @@ -144,7 +145,6 @@ OS X의 dock menu(진짜 메뉴)와는 달리 Windows의 사용자 작업은 어 사용자 작업을 설정하려면 [app.setUserTasks][setusertaskstasks] 메서드를 통해 구현할 수 있습니다: ```javascript -var app = require('app'); app.setUserTasks([ { program: process.execPath, @@ -187,8 +187,9 @@ __Windows Media Player의 섬네일 툴바:__ [BrowserWindow.setThumbarButtons][setthumbarbuttons] API를 통해 어플리케이션에 섬네일 툴바를 설정할 수 있습니다: ```javascript -var BrowserWindow = require('browser-window'); -var path = require('path'); +const BrowserWindow = require('electron').BrowserWindow; +const path = require('path'); + var win = new BrowserWindow({ width: 800, height: 600 diff --git a/docs-translations/ko-KR/tutorial/devtools-extension.md b/docs-translations/ko-KR/tutorial/devtools-extension.md index 659c769dde3..04b592955cd 100644 --- a/docs-translations/ko-KR/tutorial/devtools-extension.md +++ b/docs-translations/ko-KR/tutorial/devtools-extension.md @@ -22,13 +22,14 @@ $ git clone --recursive https://github.com/facebook/react-devtools.git 그리고 개발자 콘솔에서 다음 코드를 입력하면 확장 기능을 로드할 수 있습니다: ```javascript -require('remote').require('browser-window').addDevToolsExtension('/some-directory/react-devtools/shells/chrome'); +const BrowserWindow = require('electron').remote.BrowserWindow; +BrowserWindow.addDevToolsExtension('/some-directory/react-devtools/shells/chrome'); ``` 확장 기능을 언로드 하고 콘솔을 다시 열 때 해당 확장 기능이 로드되지 않도록 하려면 `BrowserWindow.removeDevToolsExtension` API를 사용하면 됩니다: ```javascript -require('remote').require('browser-window').removeDevToolsExtension('React Developer Tools'); +BrowserWindow.removeDevToolsExtension('React Developer Tools'); ``` ## 개발자 콘솔 확장 기능의 구성 형식 diff --git a/docs-translations/ko-KR/tutorial/online-offline-events.md b/docs-translations/ko-KR/tutorial/online-offline-events.md index 5950d40525e..0b989516a6a 100644 --- a/docs-translations/ko-KR/tutorial/online-offline-events.md +++ b/docs-translations/ko-KR/tutorial/online-offline-events.md @@ -5,13 +5,14 @@ _main.js_ ```javascript -var app = require('app'); -var BrowserWindow = require('browser-window'); -var onlineStatusWindow; +const electron = require('electron'); +const app = electron.app; +const BrowserWindow = electron.BrowserWindow; +var onlineStatusWindow; app.on('ready', function() { onlineStatusWindow = new BrowserWindow({ width: 0, height: 0, show: false }); - onlineStatusWindow.loadUrl('file://' + __dirname + '/online-status.html'); + onlineStatusWindow.loadURL('file://' + __dirname + '/online-status.html'); }); ``` @@ -43,14 +44,15 @@ _online-status.html_ _main.js_ ```javascript -var app = require('app'); -var ipcMain = require('ipc-main'); -var BrowserWindow = require('browser-window'); -var onlineStatusWindow; +const electron = require('electron'); +const app = electron.app; +const ipcMain = electron.ipcMain; +const BrowserWindow = electron.BrowserWindow; +var onlineStatusWindow; app.on('ready', function() { onlineStatusWindow = new BrowserWindow({ width: 0, height: 0, show: false }); - onlineStatusWindow.loadUrl('file://' + __dirname + '/online-status.html'); + onlineStatusWindow.loadURL('file://' + __dirname + '/online-status.html'); }); ipcMain.on('online-status-changed', function(event, status) { @@ -65,7 +67,7 @@ _online-status.html_