From 33aecb9978ee6f0962944c33c032a0edcec59cf5 Mon Sep 17 00:00:00 2001 From: Plusb Preco Date: Sun, 1 May 2016 02:46:19 +0900 Subject: [PATCH] :memo: Update Korean docs as upstream [ci skip] --- docs-translations/ko-KR/README.md | 1 + docs-translations/ko-KR/api/app.md | 55 +++++---------- docs-translations/ko-KR/api/system-preferences.md | 79 ++++++++++++++++++++++ .../ko-KR/tutorial/using-pepper-flash-plugin.md | 31 ++++++--- 4 files changed, 119 insertions(+), 47 deletions(-) create mode 100644 docs-translations/ko-KR/api/system-preferences.md diff --git a/docs-translations/ko-KR/README.md b/docs-translations/ko-KR/README.md index 717bfd5..c0949a8 100644 --- a/docs-translations/ko-KR/README.md +++ b/docs-translations/ko-KR/README.md @@ -66,6 +66,7 @@ Electron에 대해 자주 묻는 질문이 있습니다. 이슈를 생성하기 * [powerSaveBlocker](api/power-save-blocker.md) * [protocol](api/protocol.md) * [session](api/session.md) +* [systemPreferences](api/system-preferences.md) * [webContents](api/web-contents.md) * [Tray](api/tray.md) diff --git a/docs-translations/ko-KR/api/app.md b/docs-translations/ko-KR/api/app.md index 86f4c7d..1d61404 100644 --- a/docs-translations/ko-KR/api/app.md +++ b/docs-translations/ko-KR/api/app.md @@ -379,7 +379,7 @@ npm 모듈 규칙에 따라 대부분의 경우 `package.json`의 `name` 필드 **참고:** OS X에선, 어플리케이션의 `info.plist`에 등록해둔 프로토콜만 사용할 수 있습니다. 이는 런타임에서 변경될 수 없습니다. 이 파일은 간단히 텍스트 에디터를 사용하거나, 어플리케이션을 빌드할 때 스크립트가 생성되도록 할 수 있습니다. 자세한 -내용은 [Apple의 참조 문서를][CFBundleURLTypes] 확인하세요. +내용은 [Apple의 참조 문서][CFBundleURLTypes]를 확인하세요. 이 API는 내부적으로 Windows 레지스트리와 LSSetDefaultHandlerForURLScheme를 사용합니다. @@ -392,6 +392,21 @@ npm 모듈 규칙에 따라 대부분의 경우 `package.json`의 `name` 필드 **참고:** OS X에서는 앱을 제거하면 자동으로 기본 프로토콜 핸들러에서 제거됩니다. +### `app.isDefaultProtocolClient(protocol)` _OS X_ _Windows_ + +* `protocol` String - `://`를 제외한 프로토콜의 이름. + +이 메서드는 현재 실행 파일이 지정한 프로토콜에 대해 기본 동작인지 확인합니다. (URI +스킴) 만약 그렇다면 `true`를 반환하고 아닌 경우 `false`를 반환합니다. + +**참고:** OS X에선, 응용 프로그램이 프로토콜에 대한 기본 프로토콜 동작으로 +등록되었는지를 확인하기 위해 이 메서드를 사용할 수 있습니다. 또한 OS X에서 +`~/Library/Preferences/com.apple.LaunchServices.plist`를 확인하여 검증할 수도 +있습니다. 자세한 내용은 [Apple의 참조 문서][LSCopyDefaultHandlerForURLScheme]를 +참고하세요. + +이 API는 내부적으로 Windows 레지스트리와 LSSetDefaultHandlerForURLScheme를 사용합니다. + ### `app.setUserTasks(tasks)` _Windows_ * `tasks` Array - `Task` 객체의 배열 @@ -480,42 +495,7 @@ app.on('ready', function() { * `id` String -[Application User Model ID][app-user-model-id]를 `id`로 변경합니다. - -### `app.isAeroGlassEnabled()` _Windows_ - -이 메서드는 [DWM 컴포지션](https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx) -(Aero Glass)가 활성화 되어있을 때 `true`를 반환합니다. 아닌 경우 `false`를 반환합니다. -이 메서드는 투명한 윈도우를 만들기 위해 사용 가능 여부를 확인할 때 사용할 수 있습니다. -(투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다) - -사용 예시: - -```js -let browserOptions = {width: 1000, height: 800}; - -// 플랫폼이 지원하는 경우에만 투명 윈도우를 생성 -if (process.platform !== 'win32' || app.isAeroGlassEnabled()) { - browserOptions.transparent = true; - browserOptions.frame = false; -} - -// 원도우 생성 -win = new BrowserWindow(browserOptions); - -// 페이지 로드 -if (browserOptions.transparent) { - win.loadURL('file://' + __dirname + '/index.html'); -} else { - // 투명 윈도우 상태가 아니라면, 기본적인 폴백 스타일 사용 - win.loadURL('file://' + __dirname + '/fallback.html'); -} -``` - -### `app.isDarkMode()` _OS X_ - -이 메서드는 시스템이 다크 모드 상태인 경우 `true`를 반환하고 아닐 경우 `false`를 -반환합니다. +[어플리케이션의 사용자 모델 ID][app-user-model-id]를 `id`로 변경합니다. ### `app.importCertificate(options, callback)` _LINUX_ @@ -596,3 +576,4 @@ dock 아이콘의 `image`를 설정합니다. [tasks]:http://msdn.microsoft.com/en-us/library/windows/desktop/dd378460(v=vs.85).aspx#tasks [app-user-model-id]: https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx [CFBundleURLTypes]: https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/TP40009249-102207-TPXREF115 +[LSCopyDefaultHandlerForURLScheme]: https://developer.apple.com/library/mac/documentation/Carbon/Reference/LaunchServicesReference/#//apple_ref/c/func/LSCopyDefaultHandlerForURLScheme diff --git a/docs-translations/ko-KR/api/system-preferences.md b/docs-translations/ko-KR/api/system-preferences.md new file mode 100644 index 0000000..8db4cc3 --- /dev/null +++ b/docs-translations/ko-KR/api/system-preferences.md @@ -0,0 +1,79 @@ +# systemPreferences + +> 시스템 설정을 가져옵니다. + +## Methods + +### `systemPreferences.isDarkMode()` _OS X_ + +이 메서드는 시스템이 어두운 모드 상태인 경우 `true`를 반환하고 아닐 경우 `false`를 +반환합니다. + +### `systemPreferences.subscribeNotification(event, callback)` _OS X_ + +* `event` String +* `callback` Function + +OS X의 네이티브 알림을 구독하며, 해당하는 `event`가 발생하면 `callback`이 호출됩니다. +구독자의 `id`가 반환되며 `event`를 구독 해제할 때 사용할 수 있습니다. + +이 API는 후드에서 `NSDistributedNotificationCenter`를 구독하며, `event`에서 사용 +가능한 값은 다음과 같습니다: + +* `AppleInterfaceThemeChangedNotification` +* `AppleAquaColorVariantChanged` +* `AppleColorPreferencesChangedNotification` +* `AppleShowScrollBarsSettingChanged` + +### `systemPreferences.unsubscribeNotification(id)` _OS X_ + +* `id` Integer + +`id`와 함께 구독자를 제거합니다. + +### `systemPreferences.getUserDefault(key, type)` _OS X_ + +* `key` String +* `type` String - `string`, `boolean`, `integer`, `float`, `double`, `url` 값이 + 될 수 있습니다. + +시스템 설정에서 `key`에 해당하는 값을 가져옵니다. + +OS X에선 API가 `NSUserDefaults`를 읽어들입니다. 유명한 `key`와 `type`은 다음과 +같습니다: + +* `AppleInterfaceStyle: string` +* `AppleAquaColorVariant: integer` +* `AppleHighlightColor: string` +* `AppleShowScrollBars: string` + +### `systemPreferences.isAeroGlassEnabled()` _Windows_ + +이 메서드는 [DWM 컴포지션][dwm-composition] (Aero Glass)가 활성화 되어있을 때 +`true`를 반환합니다. 아닌 경우 `false`를 반환합니다. + +다음은 투명한 윈도우를 만들지, 일반 윈도우를 만들지를 판단하여 윈도우를 생성하는 +예시입니다 (투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다): + +```javascript +let browserOptions = {width: 1000, height: 800}; + +// 플랫폼이 지원하는 경우에만 투명 윈도우를 생성. +if (process.platform !== 'win32' || app.isAeroGlassEnabled()) { + browserOptions.transparent = true; + browserOptions.frame = false; +} + +// 원도우 생성 +let win = new BrowserWindow(browserOptions); + +// 페이지 로드. +if (browserOptions.transparent) { + win.loadURL('file://' + __dirname + '/index.html'); +} else { + // 투명 윈도우 상태가 아니라면, 기본적인 스타일 사용 + win.loadURL('file://' + __dirname + '/fallback.html'); +} +``` + +[dwm-composition]:https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx diff --git a/docs-translations/ko-KR/tutorial/using-pepper-flash-plugin.md b/docs-translations/ko-KR/tutorial/using-pepper-flash-plugin.md index ed3caaa..37e1c41 100644 --- a/docs-translations/ko-KR/tutorial/using-pepper-flash-plugin.md +++ b/docs-translations/ko-KR/tutorial/using-pepper-flash-plugin.md @@ -1,7 +1,8 @@ # Pepper 플래시 플러그인 사용하기 -Electron은 Pepper 플래시 플러그인을 지원합니다. -Pepper 플래시 플러그인을 사용하려면 Pepper 플래시 플러그인의 위치를 지정해야 합니다. +Electron은 Pepper 플래시 플러그인을 지원합니다. Electron에서 Pepper 플래시 +플러그인을 사용하려면 Pepper 플래시 플러그인의 위치를 지정한 후 어플리케이션 내에서 +활성화 시켜야 합니다. ## 플래시 플러그인 준비하기 @@ -13,28 +14,28 @@ Pepper 플래시 플러그인을 사용하려면 Pepper 플래시 플러그인 플러그인을 사용하려면 Electron 커맨드 라인에 `--ppapi-flash-path` 와 `ppapi-flash-version` 플래그를 `app`의 `ready` 이벤트가 발생하기 전에 추가해야 -합니다. 그리고 `browser-window`에 `plugins` 스위치도 추가해야 합니다. +합니다. 그리고 `browser-window`에 `plugins` 옵션을 활성화해야 합니다. ```javascript // 플래시 플러그인의 위치를 설정합니다. -// Windows의 경우, /path/to/pepflashplayer.dll +// Windows의 경우, /path/to/pepflashplayer.dll 또는 main.js에 존재하는 경우 pepflashplayer.dll // OS X의 경우, /path/to/PepperFlashPlayer.plugin // Linux의 경우, /path/to/libpepflashplayer.so app.commandLine.appendSwitch('ppapi-flash-path', '/path/to/libpepflashplayer.so'); -// Specify flash version, for example, v17.0.0.169 +// 선택적인으로 플래시 플레이어의 버전을 설정합니다. 예시로는, v17.0.0.169 app.commandLine.appendSwitch('ppapi-flash-version', '17.0.0.169'); app.on('ready', function() { mainWindow = new BrowserWindow({ - 'width': 800, - 'height': 600, - 'web-preferences': { - 'plugins': true + width: 800, + height: 600, + webPreferences: { + plugins: true } }); mainWindow.loadURL('file://' + __dirname + '/index.html'); - // Something else + // 이외의 코드 }); ``` @@ -45,3 +46,13 @@ app.on('ready', function() { ```html ``` + +## 문제 해결 + +개발자 도구의 콘솔에서 `navigator.plugins`를 탐색하면 Pepper 플래시 플러그인이 잘 +로드되었는지를 확인할 수 있습니다. (물론 플러그인의 경로를 잘 설정하지 않으면 확인할 +수 없습니다) + +Pepper 플래시 플러그인의 구조는 Electron과 일치해야 합니다. Windows에서 자주 +발생하는 문제는 32비트 버전의 플래시 플레이어를 64비트 버전의 Electron에서 사용하는 +것입니다. -- 2.7.4