:memo: Update Korean docs as upstream
authorPlusb Preco <plusb21@gmail.com>
Sat, 30 Apr 2016 17:46:19 +0000 (02:46 +0900)
committerPlusb Preco <plusb21@gmail.com>
Sat, 30 Apr 2016 17:46:19 +0000 (02:46 +0900)
[ci skip]

docs-translations/ko-KR/README.md
docs-translations/ko-KR/api/app.md
docs-translations/ko-KR/api/system-preferences.md [new file with mode: 0644]
docs-translations/ko-KR/tutorial/using-pepper-flash-plugin.md

index 717bfd5..c0949a8 100644 (file)
@@ -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)
 
index 86f4c7d..1d61404 100644 (file)
@@ -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 (file)
index 0000000..8db4cc3
--- /dev/null
@@ -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
index ed3caaa..37e1c41 100644 (file)
@@ -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` 이벤트가 발생하기 전에 추가해야
\95©ë\8b\88ë\8b¤. ê·¸ë¦¬ê³  `browser-window`ì\97\90 `plugins` ì\8a¤ì\9c\84ì¹\98ë\8f\84 ì¶\94ê°\80해야 합니다.
\95©ë\8b\88ë\8b¤. ê·¸ë¦¬ê³  `browser-window`ì\97\90 `plugins` ì\98µì\85\98ì\9d\84 í\99\9cì\84±í\99\94해야 합니다.
 
 ```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
 <webview src="http://www.adobe.com/software/flash/about/" plugins></webview>
 ```
+
+## 문제 해결
+
+개발자 도구의 콘솔에서 `navigator.plugins`를 탐색하면 Pepper 플래시 플러그인이 잘
+로드되었는지를 확인할 수 있습니다. (물론 플러그인의 경로를 잘 설정하지 않으면 확인할
+수 없습니다)
+
+Pepper 플래시 플러그인의 구조는 Electron과 일치해야 합니다. Windows에서 자주
+발생하는 문제는 32비트 버전의 플래시 플레이어를 64비트 버전의 Electron에서 사용하는
+것입니다.