📝 Add and update Japanese translated docs.

[ci skip]
This commit is contained in:
Joe Naha 2016-01-13 08:46:14 +09:00
parent 4702b3e0c7
commit 1fd1ae9694
4 changed files with 82 additions and 9 deletions

View file

@ -27,3 +27,7 @@
* [クイックスタート](tutorial/quick-start.md)
* [デスクトップ環境の統合](tutorial/desktop-environment-integration.md)
* [オンライン/オフライン イベントの検知](tutorial/online-offline-events.md)
## API リファレンス
* [概要](api/synopsis.md)

View file

@ -0,0 +1,69 @@
# 概要
Electron では全ての [Node.js のビルトインモジュール](http://nodejs.org/api/) 利用可能です。また、サードパーティの Node モジュール ([ネイティブモジュール](../tutorial/using-native-node-modules.md)も含む) も完全にサポートされています。
Electron はネイティブのデスクトップアプリケーション開発のための幾つかの追加のビルトインモジュールも提供しています。メインプロセスでだけ使えるモジュールもあれば、レンダラプロセス(ウェブページ)でだけ使えるモジュール、あるいはメインプロセス、レンダラプロセスどちらでも使えるモジュールもあります。
基本的なルールは:[GUI][gui]、または低レベルのシステムに関連するモジュールはメインモジュールでだけ利用できるべきです。これらのモジュールを使用できるようにするためには [メインプロセス対レンダラプロセス][main-process] スクリプトの概念を理解する必要があります。
メインプロセススクリプトは普通の Node.js スクリプトのようなものです:
```javascript
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
window.loadURL('https://github.com');
});
```
レンダラプロセスは Node モジュールを使うための追加機能を除いて、通常のウェブページとなんら違いはありません:
```html
<!DOCTYPE html>
<html>
<body>
<script>
const remote = require('electron').remote;
console.log(remote.app.getVersion());
</script>
</body>
</html>
```
アプリケーションを実行については、[アプリを実行する](../tutorial/quick-start.md#アプリを実行する)を参照してください。
## 分割代入
CoffeeScript か Babel を使っているなら、[分割代入][desctructuring-assignment]でビルトインモジュールの使用をより簡単にできます:
```javascript
const {app, BrowserWindow} = require('electron')
```
しかし、素の JavaScript を使っている場合、Chrome が ES6 を完全サポートするまで待たなければいけません。
## Disable old styles of using built-in modules
v0.35.0 以前は全てのビルトインモジュールは `require('module-name')` の形式で使われなければいけません。この形式は[多くの欠点][issue-387]がありますが、古いアプリケーションとの互換性のためにまだサポートしています。
古い形式を完全に無効にするために、環境変数 `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

View file

@ -8,21 +8,20 @@ ElectronのChromeバージョンは、通常、新しいChromeのstabeleバー
## Electronは、いつ最新のNode.jsにアップグレードされますか?
Node.jsの新しいバージョンがリリースされたとき、とても頻繁に発生している新しいNode.jsバージョンで取り込まれたバグによる影響を避けるために、ElectronのNode.jsをアップグレードする前に、通常、約1カ月待ちます。
Node.js の新しいバージョンがリリースされたとき、私たちは Electron の Node.js を更新するのを通常約1か月待ちます。そのようにして、とても頻繁に発生している、新しい Node.js バージョンによって取り込まれたバグによる影響を避けることができます。
通常、Node.jsの新しい機能はV8のアップグレードによってもたらされ、 ElectronはChromeブラウザーに搭載されているV8を使用しているので、
新しいNode.jsの重要な新しいJavaScript機能はElectronでは、すでに導入されています。
通常、Node.js の新しい機能は V8 のアップグレードによってもたらされますが、Electron は Chrome ブラウザーに搭載されている V8 を使用しているので、新しい Node.js に入ったばかりのピカピカに新しい JavaScript 機能は Electron ではたいてい既に導入されています。
## 数分後、アプリのWindow/trayが表示されなくなります
## 何分か経つと、アプリの Window/tray が消えてしまいます
これは、Window/trayを格納するのに使用している変数がガベージ コレクションされたときに発生します。
これは、Window/trayを格納するのに使用している変数がガベージコレクトされたときに発生します。
この問題に遭遇した時には、次のドキュメントを読むことをお勧めします。
* [Memory Management][memory-management]
* [Variable Scope][variable-scope]
もし簡単に修正したい場合は、グローバル変数を作成し、コードを変更します。
もし簡単に修正したい場合は、コードを以下のように修正して変数をグローバルにすると良いでしょう:
変更前:
@ -43,7 +42,8 @@ app.on('ready', function() {
## ElectronでjQuery/RequireJS/Meteor/AngularJSを使用できません
Electronに組み込まれているNode.jsの影響で, `module`, `exports`, `require`のようなシンボルがDOMに追加されています。いくつかのライブラリで、追加しようとしているシンボルと同じ名前があり、これが原因で問題が発生します。
Electronに組み込まれているNode.jsの影響で, `module`, `exports`, `require`のようなシンボルがDOMに追加されています。このため、いくつかのライブラリでは同名のシンボルを追加しようとして問題が発生することがあります。
これを解決するために、Electronに組み込まれているnodeを無効にすることができます。
```javascript

View file

@ -1,6 +1,6 @@
# オンライン/オフライン イベントの検知
オンラインとオフラインイベントの検知は、標準のHTML 5 APIを使用して、状況表示を実装できます。次の例を見てみましょう
オンラインとオフラインイベントの検知は、以下の例で示すように、標準のHTML 5 APIを使用してレンダラプロセスに実装することができます
_main.js_
@ -36,7 +36,7 @@ _online-status.html_
</html>
```
メインプロセスでそれらのイベントに反応するインスタンスがあるかもしれません。メインプロセスは、`navigator` オブジェクトをもたず、直接それらのイベントを検知できません。Electronの内部プロセスコミュニケーションツールを使用して、イベントはメインプロセスに転送され、必要があればハンドルできます。次の例を見てみましょう。
メインプロセスでこれらのイベントに応答したいことがあるかもしれません。しかし、メインプロセスは `navigator` オブジェクトを持たないため、直接これらのイベントを検知することができません。Electronの inter-process communication ユーティリティを使用して、オンライン・オフラインイベントをメインプロセスに転送し、必要に応じて扱うことができます。次の例を見てみましょう。
_main.js_